OSDN Git Service

gpiolib: Consolidate chained IRQ handler install/remove
authorThomas Gleixner <tglx@linutronix.de>
Sun, 21 Jun 2015 19:10:48 +0000 (21:10 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 14 Jul 2015 10:12:19 +0000 (12:12 +0200)
Chained irq handlers usually set up handler data as well. We now have
a function to set both under irq_desc->lock. Replace the two calls
with one.

Search and conversion was done with coccinelle:

Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Julia Lawall <Julia.Lawall@lip6.fr>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Alexandre Courbot <gnurou@gmail.com>
Cc: linux-gpio@vger.kernel.org
drivers/gpio/gpiolib.c

index bf4bd1d..78a738b 100644 (file)
@@ -443,8 +443,8 @@ void gpiochip_set_chained_irqchip(struct gpio_chip *gpiochip,
                 * The parent irqchip is already using the chip_data for this
                 * irqchip, so our callbacks simply use the handler_data.
                 */
-               irq_set_handler_data(parent_irq, gpiochip);
-               irq_set_chained_handler(parent_irq, parent_handler);
+               irq_set_chained_handler_and_data(parent_irq, parent_handler,
+                                                gpiochip);
 
                gpiochip->irq_parent = parent_irq;
        }