aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input
diff options
context:
space:
mode:
authorIllia Smyrnov <illia.smyrnov@ti.com>2013-08-26 02:26:16 -0400
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2013-08-26 03:15:53 -0400
commitafbac60b0c535189a76855a04d85492cf2d992e1 (patch)
tree615b655355846c58299f0db39efe5740b875b955 /drivers/input
parentc683da3ec985bcf0e69890f372cffaba47a1a537 (diff)
Input: omap-keypad - clear interrupts on open
According to TRM, the recommended way for keyboard controller initialization is clear the interrupt-status register, then set up certain keyboard events for generating an interrupt request and set up expected source of wake-up event that generates a wake-up request. Signed-off-by: Illia Smyrnov <illia.smyrnov@ti.com> Reviewed-by: Felipe Balbi <balbi@ti.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers/input')
-rw-r--r--drivers/input/keyboard/omap4-keypad.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/input/keyboard/omap4-keypad.c b/drivers/input/keyboard/omap4-keypad.c
index b876a0d8c6be..0244262e2600 100644
--- a/drivers/input/keyboard/omap4-keypad.c
+++ b/drivers/input/keyboard/omap4-keypad.c
@@ -185,8 +185,9 @@ static int omap4_keypad_open(struct input_dev *input)
185 (OMAP4_VAL_PVT << OMAP4_DEF_CTRL_PTV_SHIFT)); 185 (OMAP4_VAL_PVT << OMAP4_DEF_CTRL_PTV_SHIFT));
186 kbd_writel(keypad_data, OMAP4_KBD_DEBOUNCINGTIME, 186 kbd_writel(keypad_data, OMAP4_KBD_DEBOUNCINGTIME,
187 OMAP4_VAL_DEBOUNCINGTIME); 187 OMAP4_VAL_DEBOUNCINGTIME);
188 /* clear pending interrupts */
188 kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQSTATUS, 189 kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQSTATUS,
189 OMAP4_VAL_IRQDISABLE); 190 kbd_read_irqreg(keypad_data, OMAP4_KBD_IRQSTATUS));
190 kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQENABLE, 191 kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQENABLE,
191 OMAP4_DEF_IRQENABLE_EVENTEN | 192 OMAP4_DEF_IRQENABLE_EVENTEN |
192 OMAP4_DEF_IRQENABLE_LONGKEY); 193 OMAP4_DEF_IRQENABLE_LONGKEY);