aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorGuido Martínez <guido@vanguardiasur.com.ar>2015-05-06 16:35:21 -0700
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2015-05-06 16:39:28 -0700
commitc615dcb6d13e6db3083507114fa3696be98d5211 (patch)
treeaabbd52a866540a9d51b203498355fa6145ac85b /drivers
parentInput: adp5589-keys - fix pull mask setting (diff)
downloadlinux-dev-c615dcb6d13e6db3083507114fa3696be98d5211.tar.xz
linux-dev-c615dcb6d13e6db3083507114fa3696be98d5211.zip
Input: adp5589-keys - fix event count mask
The event mask was specified as 0xF (4 bits) when in reality is 0x1F (5 bits) in order to be capable of representing all FIFO length values from 0 to 16. This caused a problem: when the keypad reported 16 pending events the driver took it as 0, and did nothing. This in turn caused the keypad to re-issue the interrupt over and over again. Signed-off-by: Guido Martínez <guido@vanguardiasur.com.ar> Acked-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/input/keyboard/adp5589-keys.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/input/keyboard/adp5589-keys.c b/drivers/input/keyboard/adp5589-keys.c
index 50bc0a0c598b..6ed83cf8b74e 100644
--- a/drivers/input/keyboard/adp5589-keys.c
+++ b/drivers/input/keyboard/adp5589-keys.c
@@ -180,7 +180,7 @@
#define LOGIC2_STAT (1 << 7) /* ADP5589 only */
#define LOGIC1_STAT (1 << 6)
#define LOCK_STAT (1 << 5) /* ADP5589 only */
-#define KEC 0xF
+#define KEC 0x1F
/* PIN_CONFIG_D Register */
#define C4_EXTEND_CFG (1 << 6) /* RESET2 */