summaryrefslogtreecommitdiff
path: root/drivers/gpio/gpio-aspeed-sgpio.c
diff options
context:
space:
mode:
authorMarc Zyngier <maz@kernel.org>2021-05-04 19:42:18 +0300
committerMarc Zyngier <maz@kernel.org>2021-08-12 13:39:38 +0300
commitdbd1c54fc82051bf7f3271b43517281f5b2cff51 (patch)
treea68e4e068b8197831200a893c7d438ab50fda122 /drivers/gpio/gpio-aspeed-sgpio.c
parent991007ba6ccad588504cbd1eadf19fbf15c67ace (diff)
downloadlinux-dbd1c54fc82051bf7f3271b43517281f5b2cff51.tar.xz
gpio: Bulk conversion to generic_handle_domain_irq()
Wherever possible, replace constructs that match either generic_handle_irq(irq_find_mapping()) or generic_handle_irq(irq_linear_revmap()) to a single call to generic_handle_domain_irq(). Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Marc Zyngier <maz@kernel.org>
Diffstat (limited to 'drivers/gpio/gpio-aspeed-sgpio.c')
-rw-r--r--drivers/gpio/gpio-aspeed-sgpio.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/gpio/gpio-aspeed-sgpio.c b/drivers/gpio/gpio-aspeed-sgpio.c
index 64e54f8c30d2..a99ece15db95 100644
--- a/drivers/gpio/gpio-aspeed-sgpio.c
+++ b/drivers/gpio/gpio-aspeed-sgpio.c
@@ -392,7 +392,7 @@ static void aspeed_sgpio_irq_handler(struct irq_desc *desc)
struct gpio_chip *gc = irq_desc_get_handler_data(desc);
struct irq_chip *ic = irq_desc_get_chip(desc);
struct aspeed_sgpio *data = gpiochip_get_data(gc);
- unsigned int i, p, girq;
+ unsigned int i, p;
unsigned long reg;
chained_irq_enter(ic, desc);
@@ -402,11 +402,8 @@ static void aspeed_sgpio_irq_handler(struct irq_desc *desc)
reg = ioread32(bank_reg(data, bank, reg_irq_status));
- for_each_set_bit(p, &reg, 32) {
- girq = irq_find_mapping(gc->irq.domain, i * 32 + p);
- generic_handle_irq(girq);
- }
-
+ for_each_set_bit(p, &reg, 32)
+ generic_handle_domain_irq(gc->irq.domain, i * 32 + p);
}
chained_irq_exit(ic, desc);