Input: gpio_keys - switch to using threaded IRQs
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>
This commit is contained in:
Родитель
eaa499aebf
Коммит
7e2ecdf438
|
@ -415,7 +415,7 @@ static int __devinit gpio_keys_setup_key(struct platform_device *pdev,
|
||||||
if (!button->can_disable)
|
if (!button->can_disable)
|
||||||
irqflags |= IRQF_SHARED;
|
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) {
|
if (error < 0) {
|
||||||
dev_err(dev, "Unable to claim irq %d; error %d\n",
|
dev_err(dev, "Unable to claim irq %d; error %d\n",
|
||||||
irq, error);
|
irq, error);
|
||||||
|
@ -649,5 +649,5 @@ module_exit(gpio_keys_exit);
|
||||||
|
|
||||||
MODULE_LICENSE("GPL");
|
MODULE_LICENSE("GPL");
|
||||||
MODULE_AUTHOR("Phil Blundell <pb@handhelds.org>");
|
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");
|
MODULE_ALIAS("platform:gpio-keys");
|
||||||
|
|
Загрузка…
Ссылка в новой задаче