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 3b21f426ebb1c37b959eddc38159af82a35137d7..ab0acaf7fe8fdbc26ddb42a906db9f832826145d 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;