gpio: dwapb: Use chained IRQ prologue and epilogue
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 15 Apr 2020 14:15:23 +0000 (17:15 +0300)
committerLinus Walleij <linus.walleij@linaro.org>
Fri, 17 Apr 2020 10:30:05 +0000 (12:30 +0200)
Refactor IRQ handler in order to enter and exit chained IRQ by using
respective prologue and epilogue calls.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Tested-by: Serge Semin <fancer.lancer@gmail.com>
Reviewed-by: Serge Semin <fancer.lancer@gmail.com>
Link: https://lore.kernel.org/r/20200415141534.31240-4-andriy.shevchenko@linux.intel.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-dwapb.c

index e89a3c6..f61139f 100644 (file)
@@ -215,10 +215,9 @@ static void dwapb_irq_handler(struct irq_desc *desc)
        struct dwapb_gpio *gpio = irq_desc_get_handler_data(desc);
        struct irq_chip *chip = irq_desc_get_chip(desc);
 
+       chained_irq_enter(chip, desc);
        dwapb_do_irq(gpio);
-
-       if (chip->irq_eoi)
-               chip->irq_eoi(irq_desc_get_irq_data(desc));
+       chained_irq_exit(chip, desc);
 }
 
 static void dwapb_irq_enable(struct irq_data *d)