]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
MIPS: Make do_IRQ() available for assembly callers
authorMaciej W. Rozycki <macro@orcam.me.uk>
Mon, 4 May 2026 20:13:55 +0000 (21:13 +0100)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Tue, 26 May 2026 14:35:36 +0000 (16:35 +0200)
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 <macro@orcam.me.uk>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/include/asm/irq.h
arch/mips/kernel/irq.c

index 3a848e7e69f71102c925df2dd2be1003419a9bfd..ee5f5245c04a8324eddbb9038699fe94a2a6a2cc 100644 (file)
@@ -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);
index 5e11582fe308fac55fd317d2a85db5fd44bad80c..4ed73784a8002f30d82a8e953435aa37b6461b88 100644 (file)
@@ -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();