Lines Matching full:devfreq

3  * devfreq: Generic Dynamic Voltage and Frequency Scaling (DVFS) Framework
20 /* DEVFREQ governor name */
27 /* DEVFREQ notifier interface */
34 /* DEVFREQ work timers */
41 struct devfreq;
45 * struct devfreq_dev_status - Data given from devfreq user device to
53 * @private_data: An entry not specified by the devfreq framework.
76 * struct devfreq_dev_profile - Devfreq's user device profile
89 * status to devfreq. Governors are recommended not to
92 * devfreq.last_status.
95 * @exit: An optional callback that is called when devfreq
96 * is removing the devfreq object due to error or
98 * has registered devfreq->nb at a notifier-head,
120 * struct devfreq_stats - Statistics of devfreq device behavior
121 * @total_trans: Number of devfreq transitions.
122 * @trans_table: Statistics of devfreq transitions.
123 * @time_in_state: Statistics of devfreq states.
134 * struct devfreq - Device devfreq structure
135 * @node: list node - contains the devices with devfreq that have been
137 * @lock: a mutex to protect accessing devfreq.
138 * @dev: device registered by devfreq class. dev.parent is the device
139 * using devfreq.
140 * @profile: device-specific devfreq profile
142 * @governor_name: devfreq governor name for use with this devfreq
143 * @nb: notifier block used to notify devfreq object that it should
144 * reevaluate operable frequencies. Devfreq users may use
145 * devfreq.nb to the corresponding register notifier call chain.
148 * @last_status: devfreq user device info, performance statistics
149 * @data: Private data of the governor. The devfreq framework does not
155 * @stop_polling: devfreq polling status of a device.
159 * @stats: Statistics of devfreq device behavior
164 * This structure stores the devfreq information for a given device.
166 * Note that when a governor accesses entries in struct devfreq in its
169 * struct mutex lock in struct devfreq. A governor may use this mutex
172 struct devfreq { struct
213 struct devfreq *devfreq_add_device(struct device *dev, argument
217 int devfreq_remove_device(struct devfreq *devfreq);
218 struct devfreq *devm_devfreq_add_device(struct device *dev,
222 void devm_devfreq_remove_device(struct device *dev, struct devfreq *devfreq);
225 int devfreq_suspend_device(struct devfreq *devfreq);
226 int devfreq_resume_device(struct devfreq *devfreq);
232 int update_devfreq(struct devfreq *devfreq);
234 /* Helper functions for devfreq user device driver with OPP. */
238 struct devfreq *devfreq);
240 struct devfreq *devfreq);
242 struct devfreq *devfreq);
244 struct devfreq *devfreq);
245 int devfreq_register_notifier(struct devfreq *devfreq,
248 int devfreq_unregister_notifier(struct devfreq *devfreq,
252 struct devfreq *devfreq,
256 struct devfreq *devfreq,
259 struct devfreq *devfreq_get_devfreq_by_node(struct device_node *node);
260 struct devfreq *devfreq_get_devfreq_by_phandle(struct device *dev,
265 * struct devfreq_simple_ondemand_data - ``void *data`` fed to struct devfreq
285 * struct devfreq_passive_data - ``void *data`` fed to struct devfreq
287 * @parent: the devfreq instance of parent device.
291 * by using the new frequency of parent devfreq device
293 * If the devfreq device has the specific method to decide
295 * @this: the devfreq instance of own device.
298 * The devfreq_passive_data have to set the devfreq instance of parent
300 * initialize the 'this' and 'nb' field because the devfreq core will handle
304 /* Should set the devfreq instance of parent device */
305 struct devfreq *parent;
308 int (*get_target_freq)(struct devfreq *this, unsigned long *freq);
311 struct devfreq *this;
317 static inline struct devfreq *devfreq_add_device(struct device *dev, in devfreq_add_device()
325 static inline int devfreq_remove_device(struct devfreq *devfreq) in devfreq_remove_device() argument
330 static inline struct devfreq *devm_devfreq_add_device(struct device *dev, in devm_devfreq_add_device()
339 struct devfreq *devfreq) in devm_devfreq_remove_device() argument
343 static inline int devfreq_suspend_device(struct devfreq *devfreq) in devfreq_suspend_device() argument
348 static inline int devfreq_resume_device(struct devfreq *devfreq) in devfreq_resume_device() argument
363 struct devfreq *devfreq) in devfreq_register_opp_notifier() argument
369 struct devfreq *devfreq) in devfreq_unregister_opp_notifier() argument
375 struct devfreq *devfreq) in devm_devfreq_register_opp_notifier() argument
381 struct devfreq *devfreq) in devm_devfreq_unregister_opp_notifier() argument
385 static inline int devfreq_register_notifier(struct devfreq *devfreq, in devfreq_register_notifier() argument
392 static inline int devfreq_unregister_notifier(struct devfreq *devfreq, in devfreq_unregister_notifier() argument
400 struct devfreq *devfreq, in devm_devfreq_register_notifier() argument
408 struct devfreq *devfreq, in devm_devfreq_unregister_notifier() argument
414 static inline struct devfreq *devfreq_get_devfreq_by_node(struct device_node *node) in devfreq_get_devfreq_by_node()
419 static inline struct devfreq *devfreq_get_devfreq_by_phandle(struct device *dev, in devfreq_get_devfreq_by_phandle()
425 static inline int devfreq_update_stats(struct devfreq *df) in devfreq_update_stats()