Lines Matching full:device
3 * pm_runtime.h - Device run-time power management helper functions.
11 #include <linux/device.h>
33 extern int pm_generic_runtime_suspend(struct device *dev);
34 extern int pm_generic_runtime_resume(struct device *dev);
35 extern int pm_runtime_force_suspend(struct device *dev);
36 extern int pm_runtime_force_resume(struct device *dev);
38 extern int __pm_runtime_idle(struct device *dev, int rpmflags);
39 extern int __pm_runtime_suspend(struct device *dev, int rpmflags);
40 extern int __pm_runtime_resume(struct device *dev, int rpmflags);
41 extern int pm_runtime_get_if_active(struct device *dev, bool ign_usage_count);
42 extern int pm_schedule_suspend(struct device *dev, unsigned int delay);
43 extern int __pm_runtime_set_status(struct device *dev, unsigned int status);
44 extern int pm_runtime_barrier(struct device *dev);
45 extern void pm_runtime_enable(struct device *dev);
46 extern void __pm_runtime_disable(struct device *dev, bool check_resume);
47 extern void pm_runtime_allow(struct device *dev);
48 extern void pm_runtime_forbid(struct device *dev);
49 extern void pm_runtime_no_callbacks(struct device *dev);
50 extern void pm_runtime_irq_safe(struct device *dev);
51 extern void __pm_runtime_use_autosuspend(struct device *dev, bool use);
52 extern void pm_runtime_set_autosuspend_delay(struct device *dev, int delay);
53 extern u64 pm_runtime_autosuspend_expiration(struct device *dev);
54 extern void pm_runtime_update_max_time_suspended(struct device *dev,
56 extern void pm_runtime_set_memalloc_noio(struct device *dev, bool enable);
57 extern void pm_runtime_get_suppliers(struct device *dev);
58 extern void pm_runtime_put_suppliers(struct device *dev);
59 extern void pm_runtime_new_link(struct device *dev);
65 * @dev: Target device.
70 static inline int pm_runtime_get_if_in_use(struct device *dev) in pm_runtime_get_if_in_use()
77 * @dev: Target device.
84 static inline void pm_suspend_ignore_children(struct device *dev, bool enable) in pm_suspend_ignore_children()
90 * pm_runtime_get_noresume - Bump up runtime PM usage counter of a device.
91 * @dev: Target device.
93 static inline void pm_runtime_get_noresume(struct device *dev) in pm_runtime_get_noresume()
99 * pm_runtime_put_noidle - Drop runtime PM usage counter of a device.
100 * @dev: Target device.
104 static inline void pm_runtime_put_noidle(struct device *dev) in pm_runtime_put_noidle()
110 * pm_runtime_suspended - Check whether or not a device is runtime-suspended.
111 * @dev: Target device.
121 static inline bool pm_runtime_suspended(struct device *dev) in pm_runtime_suspended()
128 * pm_runtime_active - Check whether or not a device is runtime-active.
129 * @dev: Target device.
139 static inline bool pm_runtime_active(struct device *dev) in pm_runtime_active()
147 * @dev: Target device.
156 static inline bool pm_runtime_status_suspended(struct device *dev) in pm_runtime_status_suspended()
163 * @dev: Target device.
171 static inline bool pm_runtime_enabled(struct device *dev) in pm_runtime_enabled()
178 * @dev: Target device.
180 * Return %true if @dev is a special device without runtime PM callbacks or
183 static inline bool pm_runtime_has_no_callbacks(struct device *dev) in pm_runtime_has_no_callbacks()
189 * pm_runtime_mark_last_busy - Update the last access time of a device.
190 * @dev: Target device.
195 static inline void pm_runtime_mark_last_busy(struct device *dev) in pm_runtime_mark_last_busy()
202 * @dev: Target device.
204 * Return %true if @dev has been marked as an "IRQ-safe" device (with respect
208 static inline bool pm_runtime_is_irq_safe(struct device *dev) in pm_runtime_is_irq_safe()
213 extern u64 pm_runtime_suspended_time(struct device *dev);
219 static inline int pm_generic_runtime_suspend(struct device *dev) { return 0; } in pm_generic_runtime_suspend()
220 static inline int pm_generic_runtime_resume(struct device *dev) { return 0; } in pm_generic_runtime_resume()
221 static inline int pm_runtime_force_suspend(struct device *dev) { return 0; } in pm_runtime_force_suspend()
222 static inline int pm_runtime_force_resume(struct device *dev) { return 0; } in pm_runtime_force_resume()
224 static inline int __pm_runtime_idle(struct device *dev, int rpmflags) in __pm_runtime_idle()
228 static inline int __pm_runtime_suspend(struct device *dev, int rpmflags) in __pm_runtime_suspend()
232 static inline int __pm_runtime_resume(struct device *dev, int rpmflags) in __pm_runtime_resume()
236 static inline int pm_schedule_suspend(struct device *dev, unsigned int delay) in pm_schedule_suspend()
240 static inline int pm_runtime_get_if_in_use(struct device *dev) in pm_runtime_get_if_in_use()
244 static inline int pm_runtime_get_if_active(struct device *dev, in pm_runtime_get_if_active()
249 static inline int __pm_runtime_set_status(struct device *dev, in __pm_runtime_set_status()
251 static inline int pm_runtime_barrier(struct device *dev) { return 0; } in pm_runtime_barrier()
252 static inline void pm_runtime_enable(struct device *dev) {} in pm_runtime_enable()
253 static inline void __pm_runtime_disable(struct device *dev, bool c) {} in __pm_runtime_disable()
254 static inline void pm_runtime_allow(struct device *dev) {} in pm_runtime_allow()
255 static inline void pm_runtime_forbid(struct device *dev) {} in pm_runtime_forbid()
257 static inline void pm_suspend_ignore_children(struct device *dev, bool enable) {} in pm_suspend_ignore_children()
258 static inline void pm_runtime_get_noresume(struct device *dev) {} in pm_runtime_get_noresume()
259 static inline void pm_runtime_put_noidle(struct device *dev) {} in pm_runtime_put_noidle()
260 static inline bool pm_runtime_suspended(struct device *dev) { return false; } in pm_runtime_suspended()
261 static inline bool pm_runtime_active(struct device *dev) { return true; } in pm_runtime_active()
262 static inline bool pm_runtime_status_suspended(struct device *dev) { return false; } in pm_runtime_status_suspended()
263 static inline bool pm_runtime_enabled(struct device *dev) { return false; } in pm_runtime_enabled()
265 static inline void pm_runtime_no_callbacks(struct device *dev) {} in pm_runtime_no_callbacks()
266 static inline void pm_runtime_irq_safe(struct device *dev) {} in pm_runtime_irq_safe()
267 static inline bool pm_runtime_is_irq_safe(struct device *dev) { return false; } in pm_runtime_is_irq_safe()
269 static inline bool pm_runtime_has_no_callbacks(struct device *dev) { return false; } in pm_runtime_has_no_callbacks()
270 static inline void pm_runtime_mark_last_busy(struct device *dev) {} in pm_runtime_mark_last_busy()
271 static inline void __pm_runtime_use_autosuspend(struct device *dev, in __pm_runtime_use_autosuspend()
273 static inline void pm_runtime_set_autosuspend_delay(struct device *dev, in pm_runtime_set_autosuspend_delay()
276 struct device *dev) { return 0; } in pm_runtime_autosuspend_expiration()
277 static inline void pm_runtime_set_memalloc_noio(struct device *dev, in pm_runtime_set_memalloc_noio()
279 static inline void pm_runtime_get_suppliers(struct device *dev) {} in pm_runtime_get_suppliers()
280 static inline void pm_runtime_put_suppliers(struct device *dev) {} in pm_runtime_put_suppliers()
281 static inline void pm_runtime_new_link(struct device *dev) {} in pm_runtime_new_link()
288 * pm_runtime_idle - Conditionally set up autosuspend of a device or suspend it.
289 * @dev: Target device.
295 static inline int pm_runtime_idle(struct device *dev) in pm_runtime_idle()
301 * pm_runtime_suspend - Suspend a device synchronously.
302 * @dev: Target device.
304 static inline int pm_runtime_suspend(struct device *dev) in pm_runtime_suspend()
310 * pm_runtime_autosuspend - Set up autosuspend of a device or suspend it.
311 * @dev: Target device.
316 static inline int pm_runtime_autosuspend(struct device *dev) in pm_runtime_autosuspend()
322 * pm_runtime_resume - Resume a device synchronously.
323 * @dev: Target device.
325 static inline int pm_runtime_resume(struct device *dev) in pm_runtime_resume()
331 * pm_request_idle - Queue up "idle check" execution for a device.
332 * @dev: Target device.
337 static inline int pm_request_idle(struct device *dev) in pm_request_idle()
343 * pm_request_resume - Queue up runtime-resume of a device.
344 * @dev: Target device.
346 static inline int pm_request_resume(struct device *dev) in pm_request_resume()
352 * pm_request_autosuspend - Queue up autosuspend of a device.
353 * @dev: Target device.
358 static inline int pm_request_autosuspend(struct device *dev) in pm_request_autosuspend()
364 * pm_runtime_get - Bump up usage counter and queue up resume of a device.
365 * @dev: Target device.
370 static inline int pm_runtime_get(struct device *dev) in pm_runtime_get()
376 * pm_runtime_get_sync - Bump up usage counter of a device and resume it.
377 * @dev: Target device.
386 static inline int pm_runtime_get_sync(struct device *dev) in pm_runtime_get_sync()
392 * pm_runtime_resume_and_get - Bump up usage counter of a device and resume it.
393 * @dev: Target device.
399 static inline int pm_runtime_resume_and_get(struct device *dev) in pm_runtime_resume_and_get()
413 * pm_runtime_put - Drop device usage counter and queue up "idle check" if 0.
414 * @dev: Target device.
419 static inline int pm_runtime_put(struct device *dev) in pm_runtime_put()
425 * pm_runtime_put_autosuspend - Drop device usage counter and queue autosuspend if 0.
426 * @dev: Target device.
431 static inline int pm_runtime_put_autosuspend(struct device *dev) in pm_runtime_put_autosuspend()
438 * pm_runtime_put_sync - Drop device usage counter and run "idle check" if 0.
439 * @dev: Target device.
450 static inline int pm_runtime_put_sync(struct device *dev) in pm_runtime_put_sync()
456 * pm_runtime_put_sync_suspend - Drop device usage counter and suspend if 0.
457 * @dev: Target device.
466 static inline int pm_runtime_put_sync_suspend(struct device *dev) in pm_runtime_put_sync_suspend()
472 * pm_runtime_put_sync_autosuspend - Drop device usage counter and autosuspend if 0.
473 * @dev: Target device.
483 static inline int pm_runtime_put_sync_autosuspend(struct device *dev) in pm_runtime_put_sync_autosuspend()
490 * @dev: Target device.
497 static inline int pm_runtime_set_active(struct device *dev) in pm_runtime_set_active()
504 * @dev: Target device.
511 static inline int pm_runtime_set_suspended(struct device *dev) in pm_runtime_set_suspended()
517 * pm_runtime_disable - Disable runtime PM for a device.
518 * @dev: Target device.
526 static inline void pm_runtime_disable(struct device *dev) in pm_runtime_disable()
532 * pm_runtime_use_autosuspend - Allow autosuspend to be used for a device.
533 * @dev: Target device.
539 static inline void pm_runtime_use_autosuspend(struct device *dev) in pm_runtime_use_autosuspend()
546 * @dev: Target device.
552 static inline void pm_runtime_dont_use_autosuspend(struct device *dev) in pm_runtime_dont_use_autosuspend()