summaryrefslogtreecommitdiffstats
path: root/kernel/power/autosleep.c
diff options
context:
space:
mode:
authorRafael J. Wysocki <rjw@sisk.pl>2012-04-29 22:53:32 +0200
committerRafael J. Wysocki <rjw@sisk.pl>2012-05-01 21:25:49 +0200
commit55850945e872531644f31fefd217d61dd15dcab8 (patch)
tree412ee1338d0b69e4d6e2a5e518e30e6660704921 /kernel/power/autosleep.c
parentPM / Sleep: Implement opportunistic sleep, v2 (diff)
downloadlinux-55850945e872531644f31fefd217d61dd15dcab8.tar.xz
linux-55850945e872531644f31fefd217d61dd15dcab8.zip
PM / Sleep: Add "prevent autosleep time" statistics to wakeup sources
Android uses one wakelock statistics that is only necessary for opportunistic sleep. Namely, the prevent_suspend_time field accumulates the total time the given wakelock has been locked while "automatic suspend" was enabled. Add an analogous field, prevent_sleep_time, to wakeup sources and make it behave in a similar way. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'kernel/power/autosleep.c')
-rw-r--r--kernel/power/autosleep.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/power/autosleep.c b/kernel/power/autosleep.c
index 42348e3589d3..ca304046d9e2 100644
--- a/kernel/power/autosleep.c
+++ b/kernel/power/autosleep.c
@@ -101,8 +101,12 @@ int pm_autosleep_set_state(suspend_state_t state)
__pm_relax(autosleep_ws);
- if (state > PM_SUSPEND_ON)
+ if (state > PM_SUSPEND_ON) {
+ pm_wakep_autosleep_enabled(true);
queue_up_suspend_work();
+ } else {
+ pm_wakep_autosleep_enabled(false);
+ }
mutex_unlock(&autosleep_lock);
return 0;