Lines Matching full:devfreq
2 * linux/drivers/devfreq/governor_userspace.c
14 #include <linux/devfreq.h>
25 static int devfreq_userspace_func(struct devfreq *df, unsigned long *freq) in devfreq_userspace_func()
48 struct devfreq *devfreq = to_devfreq(dev); in store_freq() local
53 mutex_lock(&devfreq->lock); in store_freq()
54 data = devfreq->data; in store_freq()
59 err = update_devfreq(devfreq); in store_freq()
62 mutex_unlock(&devfreq->lock); in store_freq()
69 struct devfreq *devfreq = to_devfreq(dev); in show_freq() local
73 mutex_lock(&devfreq->lock); in show_freq()
74 data = devfreq->data; in show_freq()
80 mutex_unlock(&devfreq->lock); in show_freq()
94 static int userspace_init(struct devfreq *devfreq) in userspace_init() argument
105 devfreq->data = data; in userspace_init()
107 err = sysfs_create_group(&devfreq->dev.kobj, &dev_attr_group); in userspace_init()
112 static void userspace_exit(struct devfreq *devfreq) in userspace_exit() argument
118 if (devfreq->dev.kobj.sd) in userspace_exit()
119 sysfs_remove_group(&devfreq->dev.kobj, &dev_attr_group); in userspace_exit()
121 kfree(devfreq->data); in userspace_exit()
122 devfreq->data = NULL; in userspace_exit()
125 static int devfreq_userspace_handler(struct devfreq *devfreq, in devfreq_userspace_handler() argument
132 ret = userspace_init(devfreq); in devfreq_userspace_handler()
135 userspace_exit(devfreq); in devfreq_userspace_handler()