summaryrefslogtreecommitdiffstats
path: root/drivers/irqchip/irq-imx-intmux.c
diff options
context:
space:
mode:
authorMarc Zyngier <maz@kernel.org>2021-05-04 18:42:18 +0200
committerMarc Zyngier <maz@kernel.org>2021-06-10 14:09:19 +0200
commit046a6ee2343bb26d85a9973a39ccdb9764236fa4 (patch)
tree3b0c0f7ffe6a7f8376395c5d84cf340a052bfa07 /drivers/irqchip/irq-imx-intmux.c
parentgenirq: Move non-irqdomain handle_domain_irq() handling into ARM's handle_IRQ() (diff)
downloadlinux-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-imx-intmux.c')
-rw-r--r--drivers/irqchip/irq-imx-intmux.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/irqchip/irq-imx-intmux.c b/drivers/irqchip/irq-imx-intmux.c
index 7709f9712cb3..e86ff743e98c 100644
--- a/drivers/irqchip/irq-imx-intmux.c
+++ b/drivers/irqchip/irq-imx-intmux.c
@@ -182,18 +182,15 @@ static void imx_intmux_irq_handler(struct irq_desc *desc)
struct intmux_data *data = container_of(irqchip_data, struct intmux_data,
irqchip_data[idx]);
unsigned long irqstat;
- int pos, virq;
+ int pos;
chained_irq_enter(irq_desc_get_chip(desc), desc);
/* read the interrupt source pending status of this channel */
irqstat = readl_relaxed(data->regs + CHANIPR(idx));
- for_each_set_bit(pos, &irqstat, 32) {
- virq = irq_find_mapping(irqchip_data->domain, pos);
- if (virq)
- generic_handle_irq(virq);
- }
+ for_each_set_bit(pos, &irqstat, 32)
+ generic_handle_domain_irq(irqchip_data->domain, pos);
chained_irq_exit(irq_desc_get_chip(desc), desc);
}