diff options
author | Mark Rutland <mark.rutland@arm.com> | 2021-10-22 15:27:06 +0100 |
---|---|---|
committer | Mark Rutland <mark.rutland@arm.com> | 2021-10-25 10:04:53 +0100 |
commit | 46b61c88e1075829103874c95f13160e3b9e1618 (patch) | |
tree | 57c6fe12e45e367369504555f6283166caf83fa5 /drivers/irqchip | |
parent | c65b52d02f6c1a06ddb20cba175ad49eccd6410d (diff) | |
download | linux-stable-46b61c88e1075829103874c95f13160e3b9e1618.tar.gz linux-stable-46b61c88e1075829103874c95f13160e3b9e1618.tar.bz2 linux-stable-46b61c88e1075829103874c95f13160e3b9e1618.zip |
irq: mips: simplify bcm6345_l1_irq_handle()
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>
Diffstat (limited to 'drivers/irqchip')
-rw-r--r-- | drivers/irqchip/irq-bcm6345-l1.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/irqchip/irq-bcm6345-l1.c b/drivers/irqchip/irq-bcm6345-l1.c index 1bd0621c4ce2..fd079215c17f 100644 --- a/drivers/irqchip/irq-bcm6345-l1.c +++ b/drivers/irqchip/irq-bcm6345-l1.c @@ -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(); } } |