| From 6dd599f8af0166805951f4421a78ba716d78321a Mon Sep 17 00:00:00 2001 |
| From: David Jander <david@protonic.nl> |
| Date: Wed, 8 Jun 2011 11:37:45 -0600 |
| Subject: gpio/pca953x: Fix warning of enabled interrupts in handler |
| |
| From: David Jander <david@protonic.nl> |
| |
| commit 6dd599f8af0166805951f4421a78ba716d78321a upstream. |
| |
| 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> |
| Cc: Steven Rostedt <rostedt@goodmis.org> |
| Cc: Yong Zhang <yong.zhang0@gmail.com> |
| Cc: Manfred Gruber <m.gruber@unverspurt.at> |
| Cc: Thomas Gleixner <tglx@linutronix.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/gpio/pca953x.c | 6 +++--- |
| 1 file changed, 3 insertions(+), 3 deletions(-) |
| |
| --- a/drivers/gpio/pca953x.c |
| +++ b/drivers/gpio/pca953x.c |
| @@ -437,7 +437,7 @@ static irqreturn_t pca953x_irq_handler(i |
| |
| do { |
| level = __ffs(pending); |
| - generic_handle_irq(level + chip->irq_base); |
| + handle_nested_irq(level + chip->irq_base); |
| |
| pending &= ~(1 << level); |
| } while (pending); |
| @@ -481,8 +481,8 @@ static int pca953x_irq_setup(struct pca9 |
| int irq = lvl + chip->irq_base; |
| |
| 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 |