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 <enelsonmoore@gmail.com>
Reviewed-by: Linus Walleij <linusw@kernel.org>
Link: https://lore.kernel.org/r/20260610045626.248643-1-enelsonmoore@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
writel_relaxed(stat1, mapbase + SA1111_INTSTATCLR1);
if (stat0 == 0 && stat1 == 0) {
- do_bad_IRQ(desc);
+ handle_bad_irq(desc);
return;
}
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
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;
}
status = readl(f->base + IRQ_STATUS);
if (status == 0) {
- do_bad_IRQ(desc);
+ handle_bad_irq(desc);
goto out;
}