summaryrefslogtreecommitdiff
path: root/drivers/devfreq/devfreq-event.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/devfreq/devfreq-event.c')
-rw-r--r--drivers/devfreq/devfreq-event.c25
1 files changed, 14 insertions, 11 deletions
diff --git a/drivers/devfreq/devfreq-event.c b/drivers/devfreq/devfreq-event.c
index 70219099c604..9e183cd8818c 100644
--- a/drivers/devfreq/devfreq-event.c
+++ b/drivers/devfreq/devfreq-event.c
@@ -17,7 +17,13 @@
#include <linux/list.h>
#include <linux/of.h>
-static struct class *devfreq_event_class;
+static struct attribute *devfreq_event_attrs[];
+ATTRIBUTE_GROUPS(devfreq_event);
+
+static const struct class devfreq_event_class = {
+ .name = "devfreq-event",
+ .dev_groups = devfreq_event_groups
+};
/* The list of all devfreq event list */
static LIST_HEAD(devfreq_event_list);
@@ -313,7 +319,7 @@ struct devfreq_event_dev *devfreq_event_add_edev(struct device *dev,
if (!desc->ops->set_event || !desc->ops->get_event)
return ERR_PTR(-EINVAL);
- edev = kzalloc(sizeof(struct devfreq_event_dev), GFP_KERNEL);
+ edev = kzalloc_obj(struct devfreq_event_dev);
if (!edev)
return ERR_PTR(-ENOMEM);
@@ -321,7 +327,7 @@ struct devfreq_event_dev *devfreq_event_add_edev(struct device *dev,
edev->desc = desc;
edev->enable_count = 0;
edev->dev.parent = dev;
- edev->dev.class = devfreq_event_class;
+ edev->dev.class = &devfreq_event_class;
edev->dev.release = devfreq_event_release_edev;
dev_set_name(&edev->dev, "event%d", atomic_inc_return(&event_no));
@@ -461,18 +467,15 @@ static struct attribute *devfreq_event_attrs[] = {
&dev_attr_enable_count.attr,
NULL,
};
-ATTRIBUTE_GROUPS(devfreq_event);
static int __init devfreq_event_init(void)
{
- devfreq_event_class = class_create("devfreq-event");
- if (IS_ERR(devfreq_event_class)) {
- pr_err("%s: couldn't create class\n", __FILE__);
- return PTR_ERR(devfreq_event_class);
- }
+ int err;
- devfreq_event_class->dev_groups = devfreq_event_groups;
+ err = class_register(&devfreq_event_class);
+ if (err)
+ pr_err("%s: couldn't create class\n", __FILE__);
- return 0;
+ return err;
}
subsys_initcall(devfreq_event_init);