Browse Source

Input: pxa27x_keypad - clear pending interrupts on keypad config

Bootloader can leave interrupt bit pending, and it confuses driver.

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Vasily Khoruzhick 12 years ago
parent
commit
904adede08
1 changed files with 3 additions and 0 deletions
  1. 3 0
      drivers/input/keyboard/pxa27x_keypad.c

+ 3 - 0
drivers/input/keyboard/pxa27x_keypad.c

@@ -368,6 +368,9 @@ static void pxa27x_keypad_config(struct pxa27x_keypad *keypad)
 	unsigned int mask = 0, direct_key_num = 0;
 	unsigned int mask = 0, direct_key_num = 0;
 	unsigned long kpc = 0;
 	unsigned long kpc = 0;
 
 
+	/* clear pending interrupt bit */
+	keypad_readl(KPC);
+
 	/* enable matrix keys with automatic scan */
 	/* enable matrix keys with automatic scan */
 	if (pdata->matrix_key_rows && pdata->matrix_key_cols) {
 	if (pdata->matrix_key_rows && pdata->matrix_key_cols) {
 		kpc |= KPC_ASACT | KPC_MIE | KPC_ME | KPC_MS_ALL;
 		kpc |= KPC_ASACT | KPC_MIE | KPC_ME | KPC_MS_ALL;