Lines Matching full:device
3 * pm_runtime.h - Device run-time power management helper functions.
11 #include <linux/device.h>
67 extern int pm_generic_runtime_suspend(struct device *dev);
68 extern int pm_generic_runtime_resume(struct device *dev);
69 extern bool pm_runtime_need_not_resume(struct device *dev);
70 extern int pm_runtime_force_suspend(struct device *dev);
71 extern int pm_runtime_force_resume(struct device *dev);
73 extern int __pm_runtime_idle(struct device *dev, int rpmflags);
74 extern int __pm_runtime_suspend(struct device *dev, int rpmflags);
75 extern int __pm_runtime_resume(struct device *dev, int rpmflags);
76 extern int pm_runtime_get_if_active(struct device *dev);
77 extern int pm_runtime_get_if_in_use(struct device *dev);
78 extern int pm_schedule_suspend(struct device *dev, unsigned int delay);
79 extern int __pm_runtime_set_status(struct device *dev, unsigned int status);
80 extern int pm_runtime_barrier(struct device *dev);
81 extern bool pm_runtime_block_if_disabled(struct device *dev);
82 extern void pm_runtime_unblock(struct device *dev);
83 extern void pm_runtime_enable(struct device *dev);
84 extern void __pm_runtime_disable(struct device *dev, bool check_resume);
85 extern void pm_runtime_allow(struct device *dev);
86 extern void pm_runtime_forbid(struct device *dev);
87 extern void pm_runtime_no_callbacks(struct device *dev);
88 extern void pm_runtime_irq_safe(struct device *dev);
89 extern void __pm_runtime_use_autosuspend(struct device *dev, bool use);
90 extern void pm_runtime_set_autosuspend_delay(struct device *dev, int delay);
91 extern u64 pm_runtime_autosuspend_expiration(struct device *dev);
92 extern void pm_runtime_set_memalloc_noio(struct device *dev, bool enable);
93 extern void pm_runtime_get_suppliers(struct device *dev);
94 extern void pm_runtime_put_suppliers(struct device *dev);
95 extern void pm_runtime_new_link(struct device *dev);
99 extern int devm_pm_runtime_enable(struct device *dev);
103 * @dev: Target device.
110 static inline void pm_suspend_ignore_children(struct device *dev, bool enable) in pm_suspend_ignore_children()
116 * pm_runtime_get_noresume - Bump up runtime PM usage counter of a device.
117 * @dev: Target device.
119 static inline void pm_runtime_get_noresume(struct device *dev) in pm_runtime_get_noresume()
125 * pm_runtime_put_noidle - Drop runtime PM usage counter of a device.
126 * @dev: Target device.
130 static inline void pm_runtime_put_noidle(struct device *dev) in pm_runtime_put_noidle()
136 * pm_runtime_suspended - Check whether or not a device is runtime-suspended.
137 * @dev: Target device.
147 static inline bool pm_runtime_suspended(struct device *dev) in pm_runtime_suspended()
154 * pm_runtime_active - Check whether or not a device is runtime-active.
155 * @dev: Target device.
165 static inline bool pm_runtime_active(struct device *dev) in pm_runtime_active()
173 * @dev: Target device.
182 static inline bool pm_runtime_status_suspended(struct device *dev) in pm_runtime_status_suspended()
189 * @dev: Target device.
197 static inline bool pm_runtime_enabled(struct device *dev) in pm_runtime_enabled()
204 * @dev: Target device.
208 static inline bool pm_runtime_blocked(struct device *dev) in pm_runtime_blocked()
215 * @dev: Target device.
217 * Return %true if @dev is a special device without runtime PM callbacks or
220 static inline bool pm_runtime_has_no_callbacks(struct device *dev) in pm_runtime_has_no_callbacks()
226 * pm_runtime_mark_last_busy - Update the last access time of a device.
227 * @dev: Target device.
232 static inline void pm_runtime_mark_last_busy(struct device *dev) in pm_runtime_mark_last_busy()
239 * @dev: Target device.
241 * Return %true if @dev has been marked as an "IRQ-safe" device (with respect
245 static inline bool pm_runtime_is_irq_safe(struct device *dev) in pm_runtime_is_irq_safe()
250 extern u64 pm_runtime_suspended_time(struct device *dev);
256 static inline int pm_generic_runtime_suspend(struct device *dev) { return 0; } in pm_generic_runtime_suspend()
257 static inline int pm_generic_runtime_resume(struct device *dev) { return 0; } in pm_generic_runtime_resume()
258 static inline bool pm_runtime_need_not_resume(struct device *dev) {return true; } in pm_runtime_need_not_resume()
259 static inline int pm_runtime_force_suspend(struct device *dev) { return 0; } in pm_runtime_force_suspend()
260 static inline int pm_runtime_force_resume(struct device *dev) { return 0; } in pm_runtime_force_resume()
262 static inline int __pm_runtime_idle(struct device *dev, int rpmflags) in __pm_runtime_idle()
266 static inline int __pm_runtime_suspend(struct device *dev, int rpmflags) in __pm_runtime_suspend()
270 static inline int __pm_runtime_resume(struct device *dev, int rpmflags) in __pm_runtime_resume()
274 static inline int pm_schedule_suspend(struct device *dev, unsigned int delay) in pm_schedule_suspend()
278 static inline int pm_runtime_get_if_in_use(struct device *dev) in pm_runtime_get_if_in_use()
282 static inline int pm_runtime_get_if_active(struct device *dev) in pm_runtime_get_if_active()
286 static inline int __pm_runtime_set_status(struct device *dev, in __pm_runtime_set_status()
288 static inline int pm_runtime_barrier(struct device *dev) { return 0; } in pm_runtime_barrier()
289 static inline bool pm_runtime_block_if_disabled(struct device *dev) { return true; } in pm_runtime_block_if_disabled()
290 static inline void pm_runtime_unblock(struct device *dev) {} in pm_runtime_unblock()
291 static inline void pm_runtime_enable(struct device *dev) {} in pm_runtime_enable()
292 static inline void __pm_runtime_disable(struct device *dev, bool c) {} in __pm_runtime_disable()
293 static inline bool pm_runtime_blocked(struct device *dev) { return true; } in pm_runtime_blocked()
294 static inline void pm_runtime_allow(struct device *dev) {} in pm_runtime_allow()
295 static inline void pm_runtime_forbid(struct device *dev) {} in pm_runtime_forbid()
297 static inline int devm_pm_runtime_enable(struct device *dev) { return 0; } in devm_pm_runtime_enable()
299 static inline void pm_suspend_ignore_children(struct device *dev, bool enable) {} in pm_suspend_ignore_children()
300 static inline void pm_runtime_get_noresume(struct device *dev) {} in pm_runtime_get_noresume()
301 static inline void pm_runtime_put_noidle(struct device *dev) {} in pm_runtime_put_noidle()
302 static inline bool pm_runtime_suspended(struct device *dev) { return false; } in pm_runtime_suspended()
303 static inline bool pm_runtime_active(struct device *dev) { return true; } in pm_runtime_active()
304 static inline bool pm_runtime_status_suspended(struct device *dev) { return false; } in pm_runtime_status_suspended()
305 static inline bool pm_runtime_enabled(struct device *dev) { return false; } in pm_runtime_enabled()
307 static inline void pm_runtime_no_callbacks(struct device *dev) {} in pm_runtime_no_callbacks()
308 static inline void pm_runtime_irq_safe(struct device *dev) {} in pm_runtime_irq_safe()
309 static inline bool pm_runtime_is_irq_safe(struct device *dev) { return false; } in pm_runtime_is_irq_safe()
311 static inline bool pm_runtime_has_no_callbacks(struct device *dev) { return false; } in pm_runtime_has_no_callbacks()
312 static inline void pm_runtime_mark_last_busy(struct device *dev) {} in pm_runtime_mark_last_busy()
313 static inline void __pm_runtime_use_autosuspend(struct device *dev, in __pm_runtime_use_autosuspend()
315 static inline void pm_runtime_set_autosuspend_delay(struct device *dev, in pm_runtime_set_autosuspend_delay()
318 struct device *dev) { return 0; } in pm_runtime_autosuspend_expiration()
319 static inline void pm_runtime_set_memalloc_noio(struct device *dev, in pm_runtime_set_memalloc_noio()
321 static inline void pm_runtime_get_suppliers(struct device *dev) {} in pm_runtime_get_suppliers()
322 static inline void pm_runtime_put_suppliers(struct device *dev) {} in pm_runtime_put_suppliers()
323 static inline void pm_runtime_new_link(struct device *dev) {} in pm_runtime_new_link()
330 * pm_runtime_idle - Conditionally set up autosuspend of a device or suspend it.
331 * @dev: Target device.
337 static inline int pm_runtime_idle(struct device *dev) in pm_runtime_idle()
343 * pm_runtime_suspend - Suspend a device synchronously.
344 * @dev: Target device.
346 static inline int pm_runtime_suspend(struct device *dev) in pm_runtime_suspend()
352 * pm_runtime_autosuspend - Set up autosuspend of a device or suspend it.
353 * @dev: Target device.
358 static inline int pm_runtime_autosuspend(struct device *dev) in pm_runtime_autosuspend()
364 * pm_runtime_resume - Resume a device synchronously.
365 * @dev: Target device.
367 static inline int pm_runtime_resume(struct device *dev) in pm_runtime_resume()
373 * pm_request_idle - Queue up "idle check" execution for a device.
374 * @dev: Target device.
379 static inline int pm_request_idle(struct device *dev) in pm_request_idle()
385 * pm_request_resume - Queue up runtime-resume of a device.
386 * @dev: Target device.
388 static inline int pm_request_resume(struct device *dev) in pm_request_resume()
394 * pm_request_autosuspend - Queue up autosuspend of a device.
395 * @dev: Target device.
400 static inline int pm_request_autosuspend(struct device *dev) in pm_request_autosuspend()
406 * pm_runtime_get - Bump up usage counter and queue up resume of a device.
407 * @dev: Target device.
412 static inline int pm_runtime_get(struct device *dev) in pm_runtime_get()
418 * pm_runtime_get_sync - Bump up usage counter of a device and resume it.
419 * @dev: Target device.
431 static inline int pm_runtime_get_sync(struct device *dev) in pm_runtime_get_sync()
437 * pm_runtime_resume_and_get - Bump up usage counter of a device and resume it.
438 * @dev: Target device.
444 static inline int pm_runtime_resume_and_get(struct device *dev) in pm_runtime_resume_and_get()
458 * pm_runtime_put - Drop device usage counter and queue up "idle check" if 0.
459 * @dev: Target device.
464 static inline int pm_runtime_put(struct device *dev) in pm_runtime_put()
470 * __pm_runtime_put_autosuspend - Drop device usage counter and queue autosuspend if 0.
471 * @dev: Target device.
476 static inline int __pm_runtime_put_autosuspend(struct device *dev) in __pm_runtime_put_autosuspend()
482 * pm_runtime_put_autosuspend - Drop device usage counter and queue autosuspend if 0.
483 * @dev: Target device.
488 static inline int pm_runtime_put_autosuspend(struct device *dev) in pm_runtime_put_autosuspend()
495 * pm_runtime_put_sync - Drop device usage counter and run "idle check" if 0.
496 * @dev: Target device.
507 static inline int pm_runtime_put_sync(struct device *dev) in pm_runtime_put_sync()
513 * pm_runtime_put_sync_suspend - Drop device usage counter and suspend if 0.
514 * @dev: Target device.
523 static inline int pm_runtime_put_sync_suspend(struct device *dev) in pm_runtime_put_sync_suspend()
529 * pm_runtime_put_sync_autosuspend - Drop device usage counter and autosuspend if 0.
530 * @dev: Target device.
540 static inline int pm_runtime_put_sync_autosuspend(struct device *dev) in pm_runtime_put_sync_autosuspend()
547 * @dev: Target device.
554 static inline int pm_runtime_set_active(struct device *dev) in pm_runtime_set_active()
561 * @dev: Target device.
568 static inline int pm_runtime_set_suspended(struct device *dev) in pm_runtime_set_suspended()
574 * pm_runtime_disable - Disable runtime PM for a device.
575 * @dev: Target device.
590 static inline void pm_runtime_disable(struct device *dev) in pm_runtime_disable()
596 * pm_runtime_use_autosuspend - Allow autosuspend to be used for a device.
597 * @dev: Target device.
607 static inline void pm_runtime_use_autosuspend(struct device *dev) in pm_runtime_use_autosuspend()
614 * @dev: Target device.
620 static inline void pm_runtime_dont_use_autosuspend(struct device *dev) in pm_runtime_dont_use_autosuspend()