Input: lm8323 - use oneshot level triggered interrupts
authorLeigh Brown <leigh@solinno.co.uk>
Tue, 21 Jun 2011 11:25:21 +0000 (04:25 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 21 Jun 2011 12:08:40 +0000 (05:08 -0700)
According to the data sheet the interrupt should be level rather than
edge triggered.  This fixes the issue of the Nokia N810 keypad stopping
responding if multiple key events occur in quick succession.

Signed-off-by: Leigh Brown <leigh@solinno.co.uk>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
drivers/input/keyboard/lm8323.c

index 3b21f42..ab0acaf 100644 (file)
@@ -734,7 +734,7 @@ static int __devinit lm8323_probe(struct i2c_client *client,
        }
 
        err = request_threaded_irq(client->irq, NULL, lm8323_irq,
-                         IRQF_TRIGGER_FALLING, "lm8323", lm);
+                         IRQF_TRIGGER_LOW|IRQF_ONESHOT, "lm8323", lm);
        if (err) {
                dev_err(&client->dev, "could not get IRQ %d\n", client->irq);
                goto fail4;