Hi, On Tue, Jul 23, 2013 at 07:09:58PM +0300, Illia Smyrnov wrote: > Clear pending interrupts when open keypad. where are these interrupts coming from ? > Signed-off-by: Illia Smyrnov <illia.smyrnov@xxxxxx> > --- > drivers/input/keyboard/omap4-keypad.c | 5 +++-- > 1 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/input/keyboard/omap4-keypad.c b/drivers/input/keyboard/omap4-keypad.c > index b876a0d..62abc3e 100644 > --- a/drivers/input/keyboard/omap4-keypad.c > +++ b/drivers/input/keyboard/omap4-keypad.c > @@ -185,13 +185,14 @@ static int omap4_keypad_open(struct input_dev *input) > (OMAP4_VAL_PVT << OMAP4_DEF_CTRL_PTV_SHIFT)); > kbd_writel(keypad_data, OMAP4_KBD_DEBOUNCINGTIME, > OMAP4_VAL_DEBOUNCINGTIME); > - kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQSTATUS, > - OMAP4_VAL_IRQDISABLE); > kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQENABLE, > OMAP4_DEF_IRQENABLE_EVENTEN | > OMAP4_DEF_IRQENABLE_LONGKEY); > kbd_writel(keypad_data, OMAP4_KBD_WAKEUPENABLE, > OMAP4_DEF_WUP_EVENT_ENA | OMAP4_DEF_WUP_LONG_KEY_ENA); > + /* clear pending interrupts */ > + kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQSTATUS, > + kbd_read_irqreg(keypad_data, OMAP4_KBD_IRQSTATUS)); you might want to clear these interrupts before unmasking them :-) -- balbi
Attachment:
signature.asc
Description: Digital signature