summaryrefslogtreecommitdiffstats
path: root/drivers/gpio/gpio-pca953x.c
diff options
context:
space:
mode:
authorDavid Jander <david@protonic.nl>2011-06-08 19:37:45 +0200
committerGrant Likely <grant.likely@secretlab.ca>2011-06-08 19:37:45 +0200
commit6dd599f8af0166805951f4421a78ba716d78321a (patch)
tree2a319eb6c912711c3c1d54e2dcb79c9f44c9f4bd /drivers/gpio/gpio-pca953x.c
parentgpio/pca953x: Interrupt pin is active-low (diff)
downloadlinux-6dd599f8af0166805951f4421a78ba716d78321a.tar.xz
linux-6dd599f8af0166805951f4421a78ba716d78321a.zip
gpio/pca953x: Fix warning of enabled interrupts in handler
When using nested threaded irqs, use handle_nested_irq(). This function does not call the chip handler, so no handler is set. Signed-off-by: David Jander <david@protonic.nl> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'drivers/gpio/gpio-pca953x.c')
-rw-r--r--drivers/gpio/gpio-pca953x.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpio/gpio-pca953x.c b/drivers/gpio/gpio-pca953x.c
index 17e55701394b..4b8446e98de5 100644
--- a/drivers/gpio/gpio-pca953x.c
+++ b/drivers/gpio/gpio-pca953x.c
@@ -437,7 +437,7 @@ static irqreturn_t pca953x_irq_handler(int irq, void *devid)
do {
level = __ffs(pending);
- generic_handle_irq(level + chip->irq_base);
+ handle_nested_irq(level + chip->irq_base);
pending &= ~(1 << level);
} while (pending);
@@ -485,8 +485,8 @@ static int pca953x_irq_setup(struct pca953x_chip *chip,
irq_clear_status_flags(irq, IRQ_NOREQUEST);
irq_set_chip_data(irq, chip);
- irq_set_chip_and_handler(irq, &pca953x_irq_chip,
- handle_simple_irq);
+ irq_set_chip(irq, &pca953x_irq_chip);
+ irq_set_nested_thread(irq, true);
#ifdef CONFIG_ARM
set_irq_flags(irq, IRQF_VALID);
#else