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);
62 extern int devm_pm_runtime_enable(struct device *dev);
66 * @dev: Target device.
71 static inline int pm_runtime_get_if_in_use(struct device *dev) in pm_runtime_get_if_in_use()
78 * @dev: Target device.
85 static inline void pm_suspend_ignore_children(struct device *dev, bool enable) in pm_suspend_ignore_children()
91 * pm_runtime_get_noresume - Bump up runtime PM usage counter of a device.
92 * @dev: Target device.
94 static inline void pm_runtime_get_noresume(struct device *dev) in pm_runtime_get_noresume()
100 * pm_runtime_put_noidle - Drop runtime PM usage counter of a device.
101 * @dev: Target device.
105 static inline void pm_runtime_put_noidle(struct device *dev) in pm_runtime_put_noidle()
111 * pm_runtime_suspended - Check whether or not a device is runtime-suspended.
112 * @dev: Target device.
122 static inline bool pm_runtime_suspended(struct device *dev) in pm_runtime_suspended()
129 * pm_runtime_active - Check whether or not a device is runtime-active.
130 * @dev: Target device.
140 static inline bool pm_runtime_active(struct device *dev) in pm_runtime_active()
148 * @dev: Target device.
157 static inline bool pm_runtime_status_suspended(struct device *dev) in pm_runtime_status_suspended()
164 * @dev: Target device.
172 static inline bool pm_runtime_enabled(struct device *dev) in pm_runtime_enabled()
179 * @dev: Target device.
181 * Return %true if @dev is a special device without runtime PM callbacks or
184 static inline bool pm_runtime_has_no_callbacks(struct device *dev) in pm_runtime_has_no_callbacks()
190 * pm_runtime_mark_last_busy - Update the last access time of a device.
191 * @dev: Target device.
196 static inline void pm_runtime_mark_last_busy(struct device *dev) in pm_runtime_mark_last_busy()
203 * @dev: Target device.
205 * Return %true if @dev has been marked as an "IRQ-safe" device (with respect
209 static inline bool pm_runtime_is_irq_safe(struct device *dev) in pm_runtime_is_irq_safe()
214 extern u64 pm_runtime_suspended_time(struct device *dev);
220 static inline int pm_generic_runtime_suspend(struct device *dev) { return 0; } in pm_generic_runtime_suspend()
221 static inline int pm_generic_runtime_resume(struct device *dev) { return 0; } in pm_generic_runtime_resume()
222 static inline int pm_runtime_force_suspend(struct device *dev) { return 0; } in pm_runtime_force_suspend()
223 static inline int pm_runtime_force_resume(struct device *dev) { return 0; } in pm_runtime_force_resume()
225 static inline int __pm_runtime_idle(struct device *dev, int rpmflags) in __pm_runtime_idle()
229 static inline int __pm_runtime_suspend(struct device *dev, int rpmflags) in __pm_runtime_suspend()
233 static inline int __pm_runtime_resume(struct device *dev, int rpmflags) in __pm_runtime_resume()
237 static inline int pm_schedule_suspend(struct device *dev, unsigned int delay) in pm_schedule_suspend()
241 static inline int pm_runtime_get_if_in_use(struct device *dev) in pm_runtime_get_if_in_use()
245 static inline int pm_runtime_get_if_active(struct device *dev, in pm_runtime_get_if_active()
250 static inline int __pm_runtime_set_status(struct device *dev, in __pm_runtime_set_status()
252 static inline int pm_runtime_barrier(struct device *dev) { return 0; } in pm_runtime_barrier()
253 static inline void pm_runtime_enable(struct device *dev) {} in pm_runtime_enable()
254 static inline void __pm_runtime_disable(struct device *dev, bool c) {} in __pm_runtime_disable()
255 static inline void pm_runtime_allow(struct device *dev) {} in pm_runtime_allow()
256 static inline void pm_runtime_forbid(struct device *dev) {} in pm_runtime_forbid()
258 static inline int devm_pm_runtime_enable(struct device *dev) { return 0; } in devm_pm_runtime_enable()
260 static inline void pm_suspend_ignore_children(struct device *dev, bool enable) {} in pm_suspend_ignore_children()
261 static inline void pm_runtime_get_noresume(struct device *dev) {} in pm_runtime_get_noresume()
262 static inline void pm_runtime_put_noidle(struct device *dev) {} in pm_runtime_put_noidle()
263 static inline bool pm_runtime_suspended(struct device *dev) { return false; } in pm_runtime_suspended()
264 static inline bool pm_runtime_active(struct device *dev) { return true; } in pm_runtime_active()
265 static inline bool pm_runtime_status_suspended(struct device *dev) { return false; } in pm_runtime_status_suspended()
266 static inline bool pm_runtime_enabled(struct device *dev) { return false; } in pm_runtime_enabled()
268 static inline void pm_runtime_no_callbacks(struct device *dev) {} in pm_runtime_no_callbacks()
269 static inline void pm_runtime_irq_safe(struct device *dev) {} in pm_runtime_irq_safe()
270 static inline bool pm_runtime_is_irq_safe(struct device *dev) { return false; } in pm_runtime_is_irq_safe()
272 static inline bool pm_runtime_has_no_callbacks(struct device *dev) { return false; } in pm_runtime_has_no_callbacks()
273 static inline void pm_runtime_mark_last_busy(struct device *dev) {} in pm_runtime_mark_last_busy()
274 static inline void __pm_runtime_use_autosuspend(struct device *dev, in __pm_runtime_use_autosuspend()
276 static inline void pm_runtime_set_autosuspend_delay(struct device *dev, in pm_runtime_set_autosuspend_delay()
279 struct device *dev) { return 0; } in pm_runtime_autosuspend_expiration()
280 static inline void pm_runtime_set_memalloc_noio(struct device *dev, in pm_runtime_set_memalloc_noio()
282 static inline void pm_runtime_get_suppliers(struct device *dev) {} in pm_runtime_get_suppliers()
283 static inline void pm_runtime_put_suppliers(struct device *dev) {} in pm_runtime_put_suppliers()
284 static inline void pm_runtime_new_link(struct device *dev) {} in pm_runtime_new_link()
290 * pm_runtime_idle - Conditionally set up autosuspend of a device or suspend it.
291 * @dev: Target device.
297 static inline int pm_runtime_idle(struct device *dev) in pm_runtime_idle()
303 * pm_runtime_suspend - Suspend a device synchronously.
304 * @dev: Target device.
306 static inline int pm_runtime_suspend(struct device *dev) in pm_runtime_suspend()
312 * pm_runtime_autosuspend - Set up autosuspend of a device or suspend it.
313 * @dev: Target device.
318 static inline int pm_runtime_autosuspend(struct device *dev) in pm_runtime_autosuspend()
324 * pm_runtime_resume - Resume a device synchronously.
325 * @dev: Target device.
327 static inline int pm_runtime_resume(struct device *dev) in pm_runtime_resume()
333 * pm_request_idle - Queue up "idle check" execution for a device.
334 * @dev: Target device.
339 static inline int pm_request_idle(struct device *dev) in pm_request_idle()
345 * pm_request_resume - Queue up runtime-resume of a device.
346 * @dev: Target device.
348 static inline int pm_request_resume(struct device *dev) in pm_request_resume()
354 * pm_request_autosuspend - Queue up autosuspend of a device.
355 * @dev: Target device.
360 static inline int pm_request_autosuspend(struct device *dev) in pm_request_autosuspend()
366 * pm_runtime_get - Bump up usage counter and queue up resume of a device.
367 * @dev: Target device.
372 static inline int pm_runtime_get(struct device *dev) in pm_runtime_get()
378 * pm_runtime_get_sync - Bump up usage counter of a device and resume it.
379 * @dev: Target device.
391 static inline int pm_runtime_get_sync(struct device *dev) in pm_runtime_get_sync()
397 * pm_runtime_resume_and_get - Bump up usage counter of a device and resume it.
398 * @dev: Target device.
404 static inline int pm_runtime_resume_and_get(struct device *dev) in pm_runtime_resume_and_get()
418 * pm_runtime_put - Drop device usage counter and queue up "idle check" if 0.
419 * @dev: Target device.
424 static inline int pm_runtime_put(struct device *dev) in pm_runtime_put()
430 * pm_runtime_put_autosuspend - Drop device usage counter and queue autosuspend if 0.
431 * @dev: Target device.
436 static inline int pm_runtime_put_autosuspend(struct device *dev) in pm_runtime_put_autosuspend()
443 * pm_runtime_put_sync - Drop device usage counter and run "idle check" if 0.
444 * @dev: Target device.
455 static inline int pm_runtime_put_sync(struct device *dev) in pm_runtime_put_sync()
461 * pm_runtime_put_sync_suspend - Drop device usage counter and suspend if 0.
462 * @dev: Target device.
471 static inline int pm_runtime_put_sync_suspend(struct device *dev) in pm_runtime_put_sync_suspend()
477 * pm_runtime_put_sync_autosuspend - Drop device usage counter and autosuspend if 0.
478 * @dev: Target device.
488 static inline int pm_runtime_put_sync_autosuspend(struct device *dev) in pm_runtime_put_sync_autosuspend()
495 * @dev: Target device.
502 static inline int pm_runtime_set_active(struct device *dev) in pm_runtime_set_active()
509 * @dev: Target device.
516 static inline int pm_runtime_set_suspended(struct device *dev) in pm_runtime_set_suspended()
522 * pm_runtime_disable - Disable runtime PM for a device.
523 * @dev: Target device.
531 static inline void pm_runtime_disable(struct device *dev) in pm_runtime_disable()
537 * pm_runtime_use_autosuspend - Allow autosuspend to be used for a device.
538 * @dev: Target device.
544 static inline void pm_runtime_use_autosuspend(struct device *dev) in pm_runtime_use_autosuspend()
551 * @dev: Target device.
557 static inline void pm_runtime_dont_use_autosuspend(struct device *dev) in pm_runtime_dont_use_autosuspend()