diff options
author | Todd Poynor <toddpoynor@google.com> | 2012-04-19 16:08:42 -0700 |
---|---|---|
committer | Todd Poynor <toddpoynor@google.com> | 2012-04-19 16:09:11 -0700 |
commit | 84c606de0617ba304bca456f0ad06729198a5333 (patch) | |
tree | d6f615065646e72ae0914260388db121297b3c02 /Documentation/power | |
parent | a6d21d824242244ec6c02c18a517bf021f1e70cd (diff) | |
parent | 0527fde0639955203ad48a9fd83bd6fc35e82e07 (diff) | |
download | kernel_samsung_tuna-84c606de0617ba304bca456f0ad06729198a5333.zip kernel_samsung_tuna-84c606de0617ba304bca456f0ad06729198a5333.tar.gz kernel_samsung_tuna-84c606de0617ba304bca456f0ad06729198a5333.tar.bz2 |
Merge linux-stable 3.0.28 into linux-omap-3.0
Change-Id: I76904a60370e2cb9cc29ccde5d526d9183ff4f8e
Signed-off-by: Todd Poynor <toddpoynor@google.com>
Diffstat (limited to 'Documentation/power')
-rw-r--r-- | Documentation/power/runtime_pm.txt | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Documentation/power/runtime_pm.txt b/Documentation/power/runtime_pm.txt index b24875b..6ade987 100644 --- a/Documentation/power/runtime_pm.txt +++ b/Documentation/power/runtime_pm.txt @@ -708,6 +708,16 @@ will behave normally, not taking the autosuspend delay into account. Similarly, if the power.use_autosuspend field isn't set then the autosuspend helper functions will behave just like the non-autosuspend counterparts. +Under some circumstances a driver or subsystem may want to prevent a device +from autosuspending immediately, even though the usage counter is zero and the +autosuspend delay time has expired. If the ->runtime_suspend() callback +returns -EAGAIN or -EBUSY, and if the next autosuspend delay expiration time is +in the future (as it normally would be if the callback invoked +pm_runtime_mark_last_busy()), the PM core will automatically reschedule the +autosuspend. The ->runtime_suspend() callback can't do this rescheduling +itself because no suspend requests of any kind are accepted while the device is +suspending (i.e., while the callback is running). + The implementation is well suited for asynchronous use in interrupt contexts. However such use inevitably involves races, because the PM core can't synchronize ->runtime_suspend() callbacks with the arrival of I/O requests. |