From: Mike Turquette Date: Thu, 30 Sep 2010 06:38:01 +0000 (-0700) Subject: Input: omap4-keypad - wake-up on events & long presses X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=9a34bc61160167319fcfa59842cc0373487d533b;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git Input: omap4-keypad - wake-up on events & long presses Program keyboard controller to generate a wake-up request on events and on long key presses. It will not generate wake-up requests on timeouts since driver code does not handle them. This allows keyboard to wake-up OMAP from suspend. Signed-off-by: Mike Turquette Signed-off-by: Abraham Arce Signed-off-by: Dmitry Torokhov --- diff --git a/drivers/input/keyboard/omap4-keypad.c b/drivers/input/keyboard/omap4-keypad.c index 07e792e960f1..45bd0977d006 100644 --- a/drivers/input/keyboard/omap4-keypad.c +++ b/drivers/input/keyboard/omap4-keypad.c @@ -54,6 +54,8 @@ #define OMAP4_DEF_IRQENABLE_EVENTEN (1 << 0) #define OMAP4_DEF_IRQENABLE_LONGKEY (1 << 1) #define OMAP4_DEF_IRQENABLE_TIMEOUTEN (1 << 2) +#define OMAP4_DEF_WUP_EVENT_ENA (1 << 0) +#define OMAP4_DEF_WUP_LONG_KEY_ENA (1 << 1) #define OMAP4_DEF_CTRL_NOSOFTMODE (1 << 1) #define OMAP4_DEF_CTRLPTVVALUE (1 << 2) #define OMAP4_DEF_CTRLPTV (1 << 1) @@ -88,6 +90,8 @@ static void __devinit omap4_keypad_config(struct omap4_keypad *keypad_data) keypad_data->base + OMAP4_KBD_IRQSTATUS); __raw_writel(OMAP4_DEF_IRQENABLE_EVENTEN | OMAP4_DEF_IRQENABLE_LONGKEY, keypad_data->base + OMAP4_KBD_IRQENABLE); + __raw_writel(OMAP4_DEF_WUP_EVENT_ENA | OMAP4_DEF_WUP_LONG_KEY_ENA, + keypad_data->base + OMAP4_KBD_WAKEUPENABLE); } /* Interrupt handler */