summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorZoran Markovic <zoran.markovic@linaro.org>2013-08-02 22:38:02 +0200
committerAnton Vorontsov <anton@enomsg.org>2013-08-28 03:42:48 +0200
commit948dcf96622814d2a850a12851d27824530a9747 (patch)
tree8008f2495a9ce1da410bb94fe1231c6503b01236 /include
parentvexpress-poweroff: Should depend on the required infrastructure (diff)
downloadlinux-948dcf96622814d2a850a12851d27824530a9747.tar.xz
linux-948dcf96622814d2a850a12851d27824530a9747.zip
power_supply: Prevent suspend until power supply events are processed
This patch, originally authored by Arve Hjonnevag and Todd Poynor, prevents the system from entering suspend mode until the power supply plug, unplug, or any other change of state event is fully processed. This guarantees that the screen lights up and displays the battery charging state. The implementation uses the power supply wakeup_source object. Cc: David Woodhouse <dwmw2@infradead.org> Cc: Arve Hjonnevag <arve@android.com> Cc: Todd Poynor <toddpoynor@google.com> Cc: John Stultz <john.stultz@linaro.org> Signed-off-by: Zoran Markovic <zoran.markovic@linaro.org> Signed-off-by: Anton Vorontsov <anton@enomsg.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/power_supply.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h
index 804b90643a85..5c2600630dc9 100644
--- a/include/linux/power_supply.h
+++ b/include/linux/power_supply.h
@@ -15,6 +15,7 @@
#include <linux/workqueue.h>
#include <linux/leds.h>
+#include <linux/spinlock.h>
struct device;
@@ -194,6 +195,8 @@ struct power_supply {
/* private */
struct device *dev;
struct work_struct changed_work;
+ spinlock_t changed_lock;
+ bool changed;
#ifdef CONFIG_THERMAL
struct thermal_zone_device *tzd;
struct thermal_cooling_device *tcd;