Lines Matching full:devfreq

3  * devfreq: Generic Dynamic Voltage and Frequency Scaling (DVFS) Framework
18 /* DEVFREQ governor name */
25 /* DEVFREQ notifier interface */
32 /* DEVFREQ work timers */
39 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,
125 * struct devfreq_stats - Statistics of devfreq device behavior
126 * @total_trans: Number of devfreq transitions.
127 * @trans_table: Statistics of devfreq transitions.
128 * @time_in_state: Statistics of devfreq states.
139 * struct devfreq - Device devfreq structure
140 * @node: list node - contains the devices with devfreq that have been
142 * @lock: a mutex to protect accessing devfreq.
143 * @dev: device registered by devfreq class. dev.parent is the device
144 * using devfreq.
145 * @profile: device-specific devfreq profile
148 * @nb: notifier block used to notify devfreq object that it should
149 * reevaluate operable frequencies. Devfreq users may use
150 * devfreq.nb to the corresponding register notifier call chain.
152 * @freq_table: current frequency table used by the devfreq driver.
155 * @last_status: devfreq user device info, performance statistics
156 * @data: devfreq driver pass to governors, governor should not change it.
157 * @governor_data: private data for governors, devfreq core doesn't touch it.
162 * @stop_polling: devfreq polling status of a device.
166 * @stats: Statistics of devfreq device behavior
168 * @cdev: Cooling device pointer if the devfreq has cooling property
172 * This structure stores the devfreq information for a given device.
174 * Note that when a governor accesses entries in struct devfreq in its
177 * struct mutex lock in struct devfreq. A governor may use this mutex
180 struct devfreq { struct
228 struct devfreq *devfreq_add_device(struct device *dev, argument
232 int devfreq_remove_device(struct devfreq *devfreq);
233 struct devfreq *devm_devfreq_add_device(struct device *dev,
237 void devm_devfreq_remove_device(struct device *dev, struct devfreq *devfreq);
240 int devfreq_suspend_device(struct devfreq *devfreq);
241 int devfreq_resume_device(struct devfreq *devfreq);
247 int update_devfreq(struct devfreq *devfreq);
249 /* Helper functions for devfreq user device driver with OPP. */
253 struct devfreq *devfreq);
255 struct devfreq *devfreq);
257 struct devfreq *devfreq);
259 struct devfreq *devfreq);
260 int devfreq_register_notifier(struct devfreq *devfreq,
263 int devfreq_unregister_notifier(struct devfreq *devfreq,
267 struct devfreq *devfreq,
271 struct devfreq *devfreq,
274 struct devfreq *devfreq_get_devfreq_by_node(struct device_node *node);
275 struct devfreq *devfreq_get_devfreq_by_phandle(struct device *dev,
280 * struct devfreq_simple_ondemand_data - ``void *data`` fed to struct devfreq
303 * struct devfreq_passive_data - ``void *data`` fed to struct devfreq
305 * @parent: the devfreq instance of parent device.
309 * by using the new frequency of parent devfreq device
311 * If the devfreq device has the specific method to decide
314 * @this: the devfreq instance of own device.
319 * The devfreq_passive_data have to set the devfreq instance of parent
321 * initialize the 'this' and 'nb' field because the devfreq core will handle
325 /* Should set the devfreq instance of parent device */
326 struct devfreq *parent;
329 int (*get_target_freq)(struct devfreq *this, unsigned long *freq);
335 struct devfreq *this;
341 static inline struct devfreq *devfreq_add_device(struct device *dev, in devfreq_add_device()
349 static inline int devfreq_remove_device(struct devfreq *devfreq) in devfreq_remove_device() argument
354 static inline struct devfreq *devm_devfreq_add_device(struct device *dev, in devm_devfreq_add_device()
363 struct devfreq *devfreq) in devm_devfreq_remove_device() argument
367 static inline int devfreq_suspend_device(struct devfreq *devfreq) in devfreq_suspend_device() argument
372 static inline int devfreq_resume_device(struct devfreq *devfreq) in devfreq_resume_device() argument
387 struct devfreq *devfreq) in devfreq_register_opp_notifier() argument
393 struct devfreq *devfreq) in devfreq_unregister_opp_notifier() argument
399 struct devfreq *devfreq) in devm_devfreq_register_opp_notifier() argument
405 struct devfreq *devfreq) in devm_devfreq_unregister_opp_notifier() argument
409 static inline int devfreq_register_notifier(struct devfreq *devfreq, in devfreq_register_notifier() argument
416 static inline int devfreq_unregister_notifier(struct devfreq *devfreq, in devfreq_unregister_notifier() argument
424 struct devfreq *devfreq, in devm_devfreq_register_notifier() argument
432 struct devfreq *devfreq, in devm_devfreq_unregister_notifier() argument
438 static inline struct devfreq *devfreq_get_devfreq_by_node(struct device_node *node) in devfreq_get_devfreq_by_node()
443 static inline struct devfreq *devfreq_get_devfreq_by_phandle(struct device *dev, in devfreq_get_devfreq_by_phandle()
449 static inline int devfreq_update_stats(struct devfreq *df) in devfreq_update_stats()