aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/power
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-10-27 20:23:17 -0400
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-10-27 20:23:17 -0400
commit6e2d9b6049df91b1e380fd9d05eb7e585bcf8415 (patch)
tree36063e72f2759fd728ce846b531d4907f8f52a54 /Documentation/power
parentce6bceabae166c2100133d6306cf3a8b494f3540 (diff)
parentd66e6db28df330c0e5b61f9863754fc2fd37f8ca (diff)
Merge branch 'pm-runtime'
* pm-runtime: PM / Runtime: Respect autosuspend when idle triggers suspend
Diffstat (limited to 'Documentation/power')
-rw-r--r--Documentation/power/runtime_pm.txt14
1 files changed, 8 insertions, 6 deletions
diff --git a/Documentation/power/runtime_pm.txt b/Documentation/power/runtime_pm.txt
index 71d8fe4e75d3..0f54333b0ff2 100644
--- a/Documentation/power/runtime_pm.txt
+++ b/Documentation/power/runtime_pm.txt
@@ -145,11 +145,13 @@ The action performed by the idle callback is totally dependent on the subsystem
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. If there is no idle callback, or if the callback returns 147device in that case. If there is no idle callback, or if the callback returns
1480, then the PM core will attempt to carry out a runtime suspend of the device; 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 149also respecting devices configured for autosuspend. In essence this means a
150example, if the callback routine has started a delayed suspend), the routine 150call to pm_runtime_autosuspend() (do note that drivers needs to update the
151should return a non-zero value. Negative error return codes are ignored by the 151device last busy mark, pm_runtime_mark_last_busy(), to control the delay under
152PM core. 152this circumstance). To prevent this (for example, if the callback routine has
153started a delayed suspend), the routine must return a non-zero value. Negative
154error return codes are ignored by the PM core.
153 155
154The helper functions provided by the PM core, described in Section 4, guarantee 156The helper functions provided by the PM core, described in Section 4, guarantee
155that the following constraints are met with respect to runtime PM callbacks for 157that the following constraints are met with respect to runtime PM callbacks for
@@ -308,7 +310,7 @@ drivers/base/power/runtime.c and include/linux/pm_runtime.h:
308 - execute the subsystem-level idle callback for the device; returns an 310 - execute the subsystem-level idle callback for the device; returns an
309 error code on failure, where -EINPROGRESS means that ->runtime_idle() is 311 error code on failure, where -EINPROGRESS means that ->runtime_idle() is
310 already being executed; if there is no callback or the callback returns 0 312 already being executed; if there is no callback or the callback returns 0
311 then run pm_runtime_suspend(dev) and return its result 313 then run pm_runtime_autosuspend(dev) and return its result
312 314
313 int pm_runtime_suspend(struct device *dev); 315 int pm_runtime_suspend(struct device *dev);
314 - execute the subsystem-level suspend callback for the device; returns 0 on 316 - execute the subsystem-level suspend callback for the device; returns 0 on