summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWenkai Du <wenkai.du@intel.com>2018-02-22 13:21:17 -0800
committerBenson Leung <bleung@chromium.org>2018-04-09 22:57:46 -0700
commitd6542b3916582375dde30344611fa920f51aed45 (patch)
treecec77e33609cc3011e8306e83bde444792c3c712
parent3eb2ce825ea1ad89d20f7a3b5780df850e4be274 (diff)
downloadlinux-d6542b3916582375dde30344611fa920f51aed45.tar.bz2
platform/chrome: cros_ec_lpc: wake up from s2idle on Chrome EC
Chrome platform installed a Chrome EC notify handler which prevents default EC GPE handler getting called. Add pm_system_wakeup to the Chrome EC notify handler so wake up from s2idle can happen. Suggested-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by: Wenkai Du <wenkai.du@intel.com> Signed-off-by: Benson Leung <bleung@chromium.org>
-rw-r--r--drivers/platform/chrome/cros_ec_lpc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/platform/chrome/cros_ec_lpc.c b/drivers/platform/chrome/cros_ec_lpc.c
index af89e82eecd2..2a40c2b1a7ff 100644
--- a/drivers/platform/chrome/cros_ec_lpc.c
+++ b/drivers/platform/chrome/cros_ec_lpc.c
@@ -31,6 +31,7 @@
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/printk.h>
+#include <linux/suspend.h>
#define DRV_NAME "cros_ec_lpcs"
#define ACPI_DRV_NAME "GOOG0004"
@@ -235,6 +236,9 @@ static void cros_ec_lpc_acpi_notify(acpi_handle device, u32 value, void *data)
cros_ec_get_next_event(ec_dev, NULL) > 0)
blocking_notifier_call_chain(&ec_dev->event_notifier, 0,
ec_dev);
+
+ if (value == ACPI_NOTIFY_DEVICE_WAKE)
+ pm_system_wakeup();
}
static int cros_ec_lpc_probe(struct platform_device *pdev)