summaryrefslogtreecommitdiffstats
path: root/drivers/input/keyboard/pxa27x_keypad.c
diff options
context:
space:
mode:
authorSamuel Ortiz <sameo@openedhand.com>2008-03-20 09:48:14 -0400
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2008-03-20 09:48:14 -0400
commit688dad4f4c9004fcaa4cadad167b064342be5d63 (patch)
treeac5feec50e0c81552bc3e15e18182a360c0e065a /drivers/input/keyboard/pxa27x_keypad.c
parent3c00bb96497a9c1251359a1faf68dddbb8d50a23 (diff)
Input: pxa27x - fix keypad KPC macros
We want to mask (key_number - 1), not key_number. The current implementation works fine for all values but the maximum one, i.e. 8. Signed-off-by: Samuel Ortiz <sameo@openedhand.com> Acked-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'drivers/input/keyboard/pxa27x_keypad.c')
-rw-r--r--drivers/input/keyboard/pxa27x_keypad.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/input/keyboard/pxa27x_keypad.c b/drivers/input/keyboard/pxa27x_keypad.c
index 6224c2fb3b6..4e651c11c1d 100644
--- a/drivers/input/keyboard/pxa27x_keypad.c
+++ b/drivers/input/keyboard/pxa27x_keypad.c
@@ -50,9 +50,9 @@
#define KPKDI 0x0048
/* bit definitions */
-#define KPC_MKRN(n) ((((n) & 0x7) - 1) << 26) /* matrix key row number */
-#define KPC_MKCN(n) ((((n) & 0x7) - 1) << 23) /* matrix key column number */
-#define KPC_DKN(n) ((((n) & 0x7) - 1) << 6) /* direct key number */
+#define KPC_MKRN(n) ((((n) - 1) & 0x7) << 26) /* matrix key row number */
+#define KPC_MKCN(n) ((((n) - 1) & 0x7) << 23) /* matrix key column number */
+#define KPC_DKN(n) ((((n) - 1) & 0x7) << 6) /* direct key number */
#define KPC_AS (0x1 << 30) /* Automatic Scan bit */
#define KPC_ASACT (0x1 << 29) /* Automatic Scan on Activity */