pinctrl: exynos: remove duplicate calls in irq handler
authorperr perr <strongbox8@zoho.com>
Tue, 16 Aug 2016 10:45:29 +0000 (18:45 +0800)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 22 Aug 2016 12:06:29 +0000 (14:06 +0200)
Because chained_irq_enter() has already called chip->irq_mask() and
chip->irq_ack(), also chained_irq_exit() will call chip->irq_unmask(),
so it's not necessary to call chip->irq_*() here.

Signed-off-by: Perr Zhang <strongbox8@zoho.com>
Acked-by: Tomasz Figa <tomasz.figa@gmail.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
[Hand-edited from whitespace damaged patch]
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/samsung/pinctrl-exynos.c

index 051b5bf701a84945a443174d27baca186c8f0d81..d32fa2b5ff82ba6de5a586cc9ee6fdc29e7f71cd 100644 (file)
@@ -428,14 +428,10 @@ static void exynos_irq_eint0_15(struct irq_desc *desc)
        int eint_irq;
 
        chained_irq_enter(chip, desc);
-       chip->irq_mask(&desc->irq_data);
-
-       if (chip->irq_ack)
-               chip->irq_ack(&desc->irq_data);
 
        eint_irq = irq_linear_revmap(bank->irq_domain, eintd->irq);
        generic_handle_irq(eint_irq);
-       chip->irq_unmask(&desc->irq_data);
+
        chained_irq_exit(chip, desc);
 }