[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: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
617667ba72
commit
187933f236
4 changed files with 7 additions and 26 deletions
|
@ -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)
|
||||||
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;
|
||||||
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)
|
||||||
#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 { \
|
||||||
#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 { \
|
||||||
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);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue