From 3587c258078479824342f33dc513ca7c66d729bc Mon Sep 17 00:00:00 2001 From: "Mark F. Brown" Date: Fri, 3 Sep 2010 18:28:09 -0400 Subject: ARM: pxa27x_keypad: added wakeup event handler for keypad interrupts mach-mmp needs to clear wake event in order to clear the keypad interrupt Signed-off-by: Mark F. Brown Signed-off-by: Eric Miao --- arch/arm/plat-pxa/include/plat/pxa27x_keypad.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'arch/arm/plat-pxa') diff --git a/arch/arm/plat-pxa/include/plat/pxa27x_keypad.h b/arch/arm/plat-pxa/include/plat/pxa27x_keypad.h index 7b4eadc6df3a..abcc36eb1242 100644 --- a/arch/arm/plat-pxa/include/plat/pxa27x_keypad.h +++ b/arch/arm/plat-pxa/include/plat/pxa27x_keypad.h @@ -25,6 +25,13 @@ * * 4. matrix key and direct key will use the same debounce_interval by * default, which should be sufficient in most cases + * + * pxa168 keypad platform specific parameter + * + * NOTE: + * clear_wakeup_event callback is a workaround required to clear the + * keypad interrupt. The keypad wake must be cleared in addition to + * reading the MI/DI bits in the KPC register. */ struct pxa27x_keypad_platform_data { @@ -52,6 +59,9 @@ struct pxa27x_keypad_platform_data { /* key debounce interval */ unsigned int debounce_interval; + + /* clear wakeup event requirement for pxa168 */ + void (*clear_wakeup_event)(void); }; extern void pxa_set_keypad_info(struct pxa27x_keypad_platform_data *info); -- cgit v1.2.3