OSDN Git Service

pinctrl/exynos: Consolidate chained IRQ handler install/remove
authorThomas Gleixner <tglx@linutronix.de>
Sun, 21 Jun 2015 19:11:07 +0000 (21:11 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Fri, 17 Jul 2015 19:56:16 +0000 (21:56 +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: linux-gpio@vger.kernel.org
drivers/pinctrl/samsung/pinctrl-exynos.c

index b18dabb..14b02fc 100644 (file)
@@ -542,8 +542,9 @@ static int exynos_eint_wkup_init(struct samsung_pinctrl_drv_data *d)
                        }
                        weint_data[idx].irq = idx;
                        weint_data[idx].bank = bank;
-                       irq_set_handler_data(irq, &weint_data[idx]);
-                       irq_set_chained_handler(irq, exynos_irq_eint0_15);
+                       irq_set_chained_handler_and_data(irq,
+                                                        exynos_irq_eint0_15,
+                                                        &weint_data[idx]);
                }
        }