diff options
author | Marc Zyngier <maz@kernel.org> | 2021-05-04 18:42:18 +0200 |
---|---|---|
committer | Marc Zyngier <maz@kernel.org> | 2021-06-10 14:09:19 +0200 |
commit | 046a6ee2343bb26d85a9973a39ccdb9764236fa4 (patch) | |
tree | 3b0c0f7ffe6a7f8376395c5d84cf340a052bfa07 /drivers/irqchip/irq-sifive-plic.c | |
parent | genirq: Move non-irqdomain handle_domain_irq() handling into ARM's handle_IRQ() (diff) | |
download | linux-046a6ee2343bb26d85a9973a39ccdb9764236fa4.tar.xz linux-046a6ee2343bb26d85a9973a39ccdb9764236fa4.zip |
irqchip: 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: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Diffstat (limited to 'drivers/irqchip/irq-sifive-plic.c')
-rw-r--r-- | drivers/irqchip/irq-sifive-plic.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/irqchip/irq-sifive-plic.c b/drivers/irqchip/irq-sifive-plic.c index 97d4d04b0a80..cf74cfa82045 100644 --- a/drivers/irqchip/irq-sifive-plic.c +++ b/drivers/irqchip/irq-sifive-plic.c @@ -233,13 +233,11 @@ static void plic_handle_irq(struct irq_desc *desc) chained_irq_enter(chip, desc); while ((hwirq = readl(claim))) { - int irq = irq_find_mapping(handler->priv->irqdomain, hwirq); - - if (unlikely(irq <= 0)) + int err = generic_handle_domain_irq(handler->priv->irqdomain, + hwirq); + if (unlikely(err)) pr_warn_ratelimited("can't find mapping for hwirq %lu\n", hwirq); - else - generic_handle_irq(irq); } chained_irq_exit(chip, desc); |