From: Andy Shevchenko Date: Wed, 15 Apr 2020 14:15:23 +0000 (+0300) Subject: gpio: dwapb: Use chained IRQ prologue and epilogue X-Git-Tag: v5.15~3686^2~43 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9b0aef32c725d7ff92f4628c119867bc1a04d321;p=platform%2Fkernel%2Flinux-starfive.git gpio: dwapb: Use chained IRQ prologue and epilogue Refactor IRQ handler in order to enter and exit chained IRQ by using respective prologue and epilogue calls. Signed-off-by: Andy Shevchenko Tested-by: Serge Semin Reviewed-by: Serge Semin Link: https://lore.kernel.org/r/20200415141534.31240-4-andriy.shevchenko@linux.intel.com Signed-off-by: Linus Walleij --- diff --git a/drivers/gpio/gpio-dwapb.c b/drivers/gpio/gpio-dwapb.c index e89a3c6..f61139f 100644 --- a/drivers/gpio/gpio-dwapb.c +++ b/drivers/gpio/gpio-dwapb.c @@ -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)