diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2020-04-15 16:15:23 +0200 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2020-04-17 12:30:05 +0200 |
commit | 9b0aef32c725d7ff92f4628c119867bc1a04d321 (patch) | |
tree | f86926302fd357d90291c658e4cae434f434f533 /drivers/gpio/gpio-dwapb.c | |
parent | gpio: dwapb: Refactor IRQ handler to use bit operations (diff) | |
download | linux-9b0aef32c725d7ff92f4628c119867bc1a04d321.tar.xz linux-9b0aef32c725d7ff92f4628c119867bc1a04d321.zip |
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 <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>
Diffstat (limited to 'drivers/gpio/gpio-dwapb.c')
-rw-r--r-- | drivers/gpio/gpio-dwapb.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/gpio/gpio-dwapb.c b/drivers/gpio/gpio-dwapb.c index e89a3c6877aa..f61139f787d9 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) |