]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
MIPS: DEC: Remove do_IRQ() call indirection
authorMaciej W. Rozycki <macro@orcam.me.uk>
Mon, 4 May 2026 20:14:00 +0000 (21:14 +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, as a tail call.  Remove the dec_irq_dispatch() stub
then and the indirection previously introduced with commit 187933f23679
("[MIPS] do_IRQ cleanup"), improving performance by reducing the number
of control flow changes and the overall instruction count, while fixing
a compiler's complaint about a missing prototype for said stub:

arch/mips/dec/setup.c:780:25: warning: no previous prototype for 'dec_irq_dispatch' [-Wmissing-prototypes]
  780 | asmlinkage unsigned int dec_irq_dispatch(unsigned int irq)
      |                         ^~~~~~~~~~~~~~~~

(which gets promoted to a compilation error with CONFIG_WERROR).

Fixes: 8f99a1626535 ("MIPS: Tracing: Add IRQENTRY_EXIT section for MIPS")
Signed-off-by: Maciej W. Rozycki <macro@orcam.me.uk>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/dec/int-handler.S
arch/mips/dec/setup.c

index 011d1d678840aa513166e0cfbf209bb975dc6a90..a0b439c90488fcc1c7cc2e7d9cdb5113301fe5a9 100644 (file)
                 srlv   t3,t1,t2
 
 handle_it:
-               j       dec_irq_dispatch
+               j       do_IRQ
                 nop
 
 #if defined(CONFIG_32BIT) && defined(CONFIG_MIPS_FP_SUPPORT)
index 87f0a1436bf9cc78bed11a708d49c20741ad51ea..abe42616498db9b3bafd2cf0e3662ca02b189611 100644 (file)
@@ -776,9 +776,3 @@ void __init arch_init_irq(void)
                        pr_err("Failed to register halt interrupt\n");
        }
 }
-
-asmlinkage unsigned int dec_irq_dispatch(unsigned int irq)
-{
-       do_IRQ(irq);
-       return 0;
-}