From: Maciej W. Rozycki Date: Mon, 4 May 2026 20:13:55 +0000 (+0100) Subject: MIPS: Make do_IRQ() available for assembly callers X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=a032121b273ec7bcad15812e624d28f0eece6b3f;p=thirdparty%2Flinux.git MIPS: Make do_IRQ() available for assembly callers As from commit 8f99a1626535 ("MIPS: Tracing: Add IRQENTRY_EXIT section for MIPS") do_IRQ() is not a macro anymore and can be invoked directly from assembly code again, however its `asmlinkage' annotation has never been brought back from the previous removal of the function with commit 187933f23679 ("[MIPS] do_IRQ cleanup"). Since calling the function directly from assembly code has a performance advantage, add the annotation back so that the DEC platform can make use of this again. Signed-off-by: Maciej W. Rozycki Signed-off-by: Thomas Bogendoerfer --- diff --git a/arch/mips/include/asm/irq.h b/arch/mips/include/asm/irq.h index 3a848e7e69f71..ee5f5245c04a8 100644 --- a/arch/mips/include/asm/irq.h +++ b/arch/mips/include/asm/irq.h @@ -54,7 +54,7 @@ static inline int irq_canonicalize(int irq) asmlinkage void plat_irq_dispatch(void); -extern void do_IRQ(unsigned int irq); +asmlinkage void do_IRQ(unsigned int irq); struct irq_domain; extern void do_domain_IRQ(struct irq_domain *domain, unsigned int irq); diff --git a/arch/mips/kernel/irq.c b/arch/mips/kernel/irq.c index 5e11582fe308f..4ed73784a8002 100644 --- a/arch/mips/kernel/irq.c +++ b/arch/mips/kernel/irq.c @@ -100,7 +100,7 @@ static inline void check_stack_overflow(void) {} * SMP cross-CPU interrupts have their own specific * handlers). */ -void __irq_entry do_IRQ(unsigned int irq) +asmlinkage void __irq_entry do_IRQ(unsigned int irq) { irq_enter(); check_stack_overflow();