gpiolib: Consolidate chained IRQ handler install/remove
authorThomas Gleixner <[email protected]>
Sun, 21 Jun 2015 19:10:48 +0000 (21:10 +0200)
committerThomas Gleixner <[email protected]>
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 <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Julia Lawall <[email protected]>
Cc: Linus Walleij <[email protected]>
Cc: Alexandre Courbot <[email protected]>
Cc: [email protected]
drivers/gpio/gpiolib.c

index bf4bd1d120c38a94fb997521c1712224a7712f8d..78a738bca53fa73fdf18a2d3c5b3c9d06ae24437 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;
        }