irq: mips: simplify bcm6345_l1_irq_handle()
authorMark Rutland <mark.rutland@arm.com>
Fri, 22 Oct 2021 14:27:06 +0000 (15:27 +0100)
committerMark Rutland <mark.rutland@arm.com>
Mon, 25 Oct 2021 09:04:53 +0000 (10:04 +0100)
As bcm6345_l1_irq_handle() only needs to know /whether/ an IRQ was
resolved, and doesn't need to know the specific IRQ, it's simpler for it
to call generic_handle_domain_irq() directly and check the return code,
so let's do that.

There should be no functional change as a result of this patch.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Suggested-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Marc Zyngier <maz@kernel.org>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
drivers/irqchip/irq-bcm6345-l1.c

index 1bd0621..fd07921 100644 (file)
@@ -132,16 +132,12 @@ static void bcm6345_l1_irq_handle(struct irq_desc *desc)
                int base = idx * IRQS_PER_WORD;
                unsigned long pending;
                irq_hw_number_t hwirq;
-               unsigned int irq;
 
                pending = __raw_readl(cpu->map_base + reg_status(intc, idx));
                pending &= __raw_readl(cpu->map_base + reg_enable(intc, idx));
 
                for_each_set_bit(hwirq, &pending, IRQS_PER_WORD) {
-                       irq = irq_linear_revmap(intc->domain, base + hwirq);
-                       if (irq)
-                               generic_handle_irq(irq);
-                       else
+                       if (generic_handle_domain_irq(intc->domain, base + hwirq))
                                spurious_interrupt();
                }
        }