From: Ethan Nelson-Moore Date: Wed, 10 Jun 2026 04:56:26 +0000 (-0700) Subject: ARM: remove the last few uses of do_bad_IRQ() X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d7a16385680344f999664db08a94913b29d45453;p=thirdparty%2Flinux.git ARM: remove the last few uses of do_bad_IRQ() The do_bad_IRQ() macro simply calls handle_bad_irq() with a lock around it. It also carries a comment stating that uses of it should be replaced. According to commit aec0095653cd ("irqchip: gic: Call handle_bad_irq() directly"), which replaced another use of do_bad_IRQ(), locking the IRQ descriptor is not necessary for error reporting. Therefore, replace all uses of do_bad_IRQ() with calls to handle_bad_irq() and remove do_bad_IRQ(). Signed-off-by: Ethan Nelson-Moore Reviewed-by: Linus Walleij Link: https://lore.kernel.org/r/20260610045626.248643-1-enelsonmoore@gmail.com Signed-off-by: Arnd Bergmann --- diff --git a/arch/arm/common/sa1111.c b/arch/arm/common/sa1111.c index 449c8bb86453c..a0f854cf4748e 100644 --- a/arch/arm/common/sa1111.c +++ b/arch/arm/common/sa1111.c @@ -221,7 +221,7 @@ static void sa1111_irq_handler(struct irq_desc *desc) writel_relaxed(stat1, mapbase + SA1111_INTSTATCLR1); if (stat0 == 0 && stat1 == 0) { - do_bad_IRQ(desc); + handle_bad_irq(desc); return; } diff --git a/arch/arm/include/asm/mach/irq.h b/arch/arm/include/asm/mach/irq.h index dfe832a3bfc71..fdcd8388977d8 100644 --- a/arch/arm/include/asm/mach/irq.h +++ b/arch/arm/include/asm/mach/irq.h @@ -17,14 +17,4 @@ struct seq_file; extern void init_FIQ(int); extern int show_fiq_list(struct seq_file *, int); -/* - * This is for easy migration, but should be changed in the source - */ -#define do_bad_IRQ(desc) \ -do { \ - raw_spin_lock(&desc->lock); \ - handle_bad_irq(desc); \ - raw_spin_unlock(&desc->lock); \ -} while(0) - #endif diff --git a/arch/arm/mach-footbridge/isa-irq.c b/arch/arm/mach-footbridge/isa-irq.c index 842ddb4121ef1..48c7b3efd5557 100644 --- a/arch/arm/mach-footbridge/isa-irq.c +++ b/arch/arm/mach-footbridge/isa-irq.c @@ -89,7 +89,7 @@ static void isa_irq_handler(struct irq_desc *desc) unsigned int isa_irq = *(unsigned char *)PCIIACK_BASE; if (isa_irq < _ISA_IRQ(0) || isa_irq >= _ISA_IRQ(16)) { - do_bad_IRQ(desc); + handle_bad_irq(desc); return; } diff --git a/drivers/irqchip/irq-versatile-fpga.c b/drivers/irqchip/irq-versatile-fpga.c index 034ce6afe1708..6eaad836d9ffa 100644 --- a/drivers/irqchip/irq-versatile-fpga.c +++ b/drivers/irqchip/irq-versatile-fpga.c @@ -89,7 +89,7 @@ static void fpga_irq_handle(struct irq_desc *desc) status = readl(f->base + IRQ_STATUS); if (status == 0) { - do_bad_IRQ(desc); + handle_bad_irq(desc); goto out; }