Input: gpio_keys - switch to using threaded IRQs
authorDavid Jander <david@protonic.nl>
Tue, 21 Jun 2011 21:26:18 +0000 (14:26 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 21 Jun 2011 21:33:34 +0000 (14:33 -0700)
Use a threaded interrupt handler in order to permit the handler to use
a GPIO driver that causes things like I2C transactions being done inside
the handler context.

Signed-off-by: David Jander <david@protonic.nl>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
drivers/input/keyboard/gpio_keys.c

index 6e6145b9a4c10b2d84bfd3cce75b1ea12a100b43..6d0e2f64122b184c51d73c415f45def55430c692 100644 (file)
@@ -415,7 +415,7 @@ static int __devinit gpio_keys_setup_key(struct platform_device *pdev,
        if (!button->can_disable)
                irqflags |= IRQF_SHARED;
 
-       error = request_any_context_irq(irq, gpio_keys_isr, irqflags, desc, bdata);
+       error = request_threaded_irq(irq, NULL, gpio_keys_isr, irqflags, desc, bdata);
        if (error < 0) {
                dev_err(dev, "Unable to claim irq %d; error %d\n",
                        irq, error);
@@ -649,5 +649,5 @@ module_exit(gpio_keys_exit);
 
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Phil Blundell <pb@handhelds.org>");
-MODULE_DESCRIPTION("Keyboard driver for CPU GPIOs");
+MODULE_DESCRIPTION("Keyboard driver for GPIOs");
 MODULE_ALIAS("platform:gpio-keys");