diff options
author | Vasily Khoruzhick <anarsoul@gmail.com> | 2012-10-29 23:45:09 -0700 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2012-10-30 00:10:49 -0700 |
commit | 904adede088f2a6976e417d1d5cf72c9fe686814 (patch) | |
tree | 0d9ad8997d73d8c1e2690966ccd93d182ed64abd | |
parent | b216e12d062d060f2c7b1a49b4b6a6a442cae79c (diff) | |
download | op-kernel-dev-904adede088f2a6976e417d1d5cf72c9fe686814.zip op-kernel-dev-904adede088f2a6976e417d1d5cf72c9fe686814.tar.gz |
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>
-rw-r--r-- | drivers/input/keyboard/pxa27x_keypad.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/input/keyboard/pxa27x_keypad.c b/drivers/input/keyboard/pxa27x_keypad.c index 803ff6f..cad9d5d 100644 --- a/drivers/input/keyboard/pxa27x_keypad.c +++ b/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 long kpc = 0; + /* clear pending interrupt bit */ + keypad_readl(KPC); + /* enable matrix keys with automatic scan */ if (pdata->matrix_key_rows && pdata->matrix_key_cols) { kpc |= KPC_ASACT | KPC_MIE | KPC_ME | KPC_MS_ALL; |