aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/power/runtime_pm.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/power/runtime_pm.txt')
-rw-r--r--Documentation/power/runtime_pm.txt20
1 files changed, 10 insertions, 10 deletions
diff --git a/Documentation/power/runtime_pm.txt b/Documentation/power/runtime_pm.txt
index 6c9f5d9aa115..71d8fe4e75d3 100644
--- a/Documentation/power/runtime_pm.txt
+++ b/Documentation/power/runtime_pm.txt
@@ -144,8 +144,12 @@ The action performed by the idle callback is totally dependent on the subsystem
144(or driver) in question, but the expected and recommended action is to check 144(or driver) in question, but the expected and recommended action is to check
145if the device can be suspended (i.e. if all of the conditions necessary for 145if the device can be suspended (i.e. if all of the conditions necessary for
146suspending the device are satisfied) and to queue up a suspend request for the 146suspending the device are satisfied) and to queue up a suspend request for the
147device in that case. The value returned by this callback is ignored by the PM 147device in that case. If there is no idle callback, or if the callback returns
148core. 1480, then the PM core will attempt to carry out a runtime suspend of the device;
149in essence, it will call pm_runtime_suspend() directly. To prevent this (for
150example, if the callback routine has started a delayed suspend), the routine
151should return a non-zero value. Negative error return codes are ignored by the
152PM core.
149 153
150The helper functions provided by the PM core, described in Section 4, guarantee 154The helper functions provided by the PM core, described in Section 4, guarantee
151that the following constraints are met with respect to runtime PM callbacks for 155that the following constraints are met with respect to runtime PM callbacks for
@@ -301,9 +305,10 @@ drivers/base/power/runtime.c and include/linux/pm_runtime.h:
301 removing the device from device hierarchy 305 removing the device from device hierarchy
302 306
303 int pm_runtime_idle(struct device *dev); 307 int pm_runtime_idle(struct device *dev);
304 - execute the subsystem-level idle callback for the device; returns 0 on 308 - execute the subsystem-level idle callback for the device; returns an
305 success or error code on failure, where -EINPROGRESS means that 309 error code on failure, where -EINPROGRESS means that ->runtime_idle() is
306 ->runtime_idle() is already being executed 310 already being executed; if there is no callback or the callback returns 0
311 then run pm_runtime_suspend(dev) and return its result
307 312
308 int pm_runtime_suspend(struct device *dev); 313 int pm_runtime_suspend(struct device *dev);
309 - execute the subsystem-level suspend callback for the device; returns 0 on 314 - execute the subsystem-level suspend callback for the device; returns 0 on
@@ -660,11 +665,6 @@ Subsystems may wish to conserve code space by using the set of generic power
660management callbacks provided by the PM core, defined in 665management callbacks provided by the PM core, defined in
661driver/base/power/generic_ops.c: 666driver/base/power/generic_ops.c:
662 667
663 int pm_generic_runtime_idle(struct device *dev);
664 - invoke the ->runtime_idle() callback provided by the driver of this
665 device, if defined, and call pm_runtime_suspend() for this device if the
666 return value is 0 or the callback is not defined
667
668 int pm_generic_runtime_suspend(struct device *dev); 668 int pm_generic_runtime_suspend(struct device *dev);
669 - invoke the ->runtime_suspend() callback provided by the driver of this 669 - invoke the ->runtime_suspend() callback provided by the driver of this
670 device and return its result, or return -EINVAL if not defined 670 device and return its result, or return -EINVAL if not defined