diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-10-27 20:23:17 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-10-27 20:23:17 -0400 |
commit | 6e2d9b6049df91b1e380fd9d05eb7e585bcf8415 (patch) | |
tree | 36063e72f2759fd728ce846b531d4907f8f52a54 /Documentation/power | |
parent | ce6bceabae166c2100133d6306cf3a8b494f3540 (diff) | |
parent | d66e6db28df330c0e5b61f9863754fc2fd37f8ca (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.txt | 14 |
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 | |||
145 | if the device can be suspended (i.e. if all of the conditions necessary for | 145 | if the device can be suspended (i.e. if all of the conditions necessary for |
146 | suspending the device are satisfied) and to queue up a suspend request for the | 146 | suspending the device are satisfied) and to queue up a suspend request for the |
147 | device in that case. If there is no idle callback, or if the callback returns | 147 | device in that case. If there is no idle callback, or if the callback returns |
148 | 0, then the PM core will attempt to carry out a runtime suspend of the device; | 148 | 0, then the PM core will attempt to carry out a runtime suspend of the device, |
149 | in essence, it will call pm_runtime_suspend() directly. To prevent this (for | 149 | also respecting devices configured for autosuspend. In essence this means a |
150 | example, if the callback routine has started a delayed suspend), the routine | 150 | call to pm_runtime_autosuspend() (do note that drivers needs to update the |
151 | should return a non-zero value. Negative error return codes are ignored by the | 151 | device last busy mark, pm_runtime_mark_last_busy(), to control the delay under |
152 | PM core. | 152 | this circumstance). To prevent this (for example, if the callback routine has |
153 | started a delayed suspend), the routine must return a non-zero value. Negative | ||
154 | error return codes are ignored by the PM core. | ||
153 | 155 | ||
154 | The helper functions provided by the PM core, described in Section 4, guarantee | 156 | The helper functions provided by the PM core, described in Section 4, guarantee |
155 | that the following constraints are met with respect to runtime PM callbacks for | 157 | that 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 |