Commit 187933f2 authored by Atsushi Nemoto's avatar Atsushi Nemoto Committed by Ralf Baechle

[MIPS] do_IRQ cleanup

Now we have both function and macro version of do_IRQ() and the former
is used only by DEC and non-preemptive kernel.  This patch makes
everyone use the macro version and removes the function version.
Signed-off-by: default avatarAtsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 617667ba
...@@ -267,7 +267,7 @@ handle_it: ...@@ -267,7 +267,7 @@ handle_it:
LONG_L s0, TI_REGS($28) LONG_L s0, TI_REGS($28)
LONG_S sp, TI_REGS($28) LONG_S sp, TI_REGS($28)
PTR_LA ra, ret_from_irq PTR_LA ra, ret_from_irq
j do_IRQ j dec_irq_dispatch
nop nop
#ifdef CONFIG_32BIT #ifdef CONFIG_32BIT
......
...@@ -761,3 +761,9 @@ void __init arch_init_irq(void) ...@@ -761,3 +761,9 @@ void __init arch_init_irq(void)
if (dec_interrupt[DEC_IRQ_HALT] >= 0) if (dec_interrupt[DEC_IRQ_HALT] >= 0)
setup_irq(dec_interrupt[DEC_IRQ_HALT], &haltirq); setup_irq(dec_interrupt[DEC_IRQ_HALT], &haltirq);
} }
asmlinkage unsigned int dec_irq_dispatch(unsigned int irq)
{
do_IRQ(irq);
return 0;
}
...@@ -88,25 +88,6 @@ atomic_t irq_err_count; ...@@ -88,25 +88,6 @@ atomic_t irq_err_count;
unsigned long irq_hwmask[NR_IRQS]; unsigned long irq_hwmask[NR_IRQS];
#endif /* CONFIG_MIPS_MT_SMTC */ #endif /* CONFIG_MIPS_MT_SMTC */
#undef do_IRQ
/*
* do_IRQ handles all normal device IRQ's (the special
* SMP cross-CPU interrupts have their own specific
* handlers).
*/
asmlinkage unsigned int do_IRQ(unsigned int irq)
{
irq_enter();
__DO_IRQ_SMTC_HOOK();
__do_IRQ(irq);
irq_exit();
return 1;
}
/* /*
* Generic, controller-independent functions: * Generic, controller-independent functions:
*/ */
......
...@@ -24,8 +24,6 @@ static inline int irq_canonicalize(int irq) ...@@ -24,8 +24,6 @@ static inline int irq_canonicalize(int irq)
#define irq_canonicalize(irq) (irq) /* Sane hardware, sane code ... */ #define irq_canonicalize(irq) (irq) /* Sane hardware, sane code ... */
#endif #endif
extern asmlinkage unsigned int do_IRQ(unsigned int irq);
#ifdef CONFIG_MIPS_MT_SMTC #ifdef CONFIG_MIPS_MT_SMTC
/* /*
* Clear interrupt mask handling "backstop" if irq_hwmask * Clear interrupt mask handling "backstop" if irq_hwmask
...@@ -43,8 +41,6 @@ do { \ ...@@ -43,8 +41,6 @@ do { \
#define __DO_IRQ_SMTC_HOOK() do { } while (0) #define __DO_IRQ_SMTC_HOOK() do { } while (0)
#endif #endif
#ifdef CONFIG_PREEMPT
/* /*
* do_IRQ handles all normal device IRQ's (the special * do_IRQ handles all normal device IRQ's (the special
* SMP cross-CPU interrupts have their own specific * SMP cross-CPU interrupts have their own specific
...@@ -61,8 +57,6 @@ do { \ ...@@ -61,8 +57,6 @@ do { \
irq_exit(); \ irq_exit(); \
} while (0) } while (0)
#endif
extern void arch_init_irq(void); extern void arch_init_irq(void);
extern void spurious_interrupt(void); extern void spurious_interrupt(void);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment