From: Adrian Bunk Add a proper prototype for __do_softirq() in include/linux/interrupt.h Signed-off-by: Adrian Bunk Acked-by: Ingo Molnar Signed-off-by: Andrew Morton --- arch/s390/kernel/irq.c | 2 -- arch/sh/kernel/irq.c | 2 -- arch/x86/kernel/irq_32.c | 2 -- include/asm-powerpc/irq.h | 2 -- include/linux/interrupt.h | 1 + 5 files changed, 1 insertion(+), 8 deletions(-) diff -puN arch/s390/kernel/irq.c~proper-__do_softirq-prototype arch/s390/kernel/irq.c --- a/arch/s390/kernel/irq.c~proper-__do_softirq-prototype +++ a/arch/s390/kernel/irq.c @@ -60,8 +60,6 @@ init_IRQ(void) /* * Switch to the asynchronous interrupt stack for softirq execution. */ -extern void __do_softirq(void); - asmlinkage void do_softirq(void) { unsigned long flags, old, new; diff -puN arch/sh/kernel/irq.c~proper-__do_softirq-prototype arch/sh/kernel/irq.c --- a/arch/sh/kernel/irq.c~proper-__do_softirq-prototype +++ a/arch/sh/kernel/irq.c @@ -200,8 +200,6 @@ void irq_ctx_exit(int cpu) hardirq_ctx[cpu] = NULL; } -extern asmlinkage void __do_softirq(void); - asmlinkage void do_softirq(void) { unsigned long flags; diff -puN arch/x86/kernel/irq_32.c~proper-__do_softirq-prototype arch/x86/kernel/irq_32.c --- a/arch/x86/kernel/irq_32.c~proper-__do_softirq-prototype +++ a/arch/x86/kernel/irq_32.c @@ -190,8 +190,6 @@ void irq_ctx_exit(int cpu) hardirq_ctx[cpu] = NULL; } -extern asmlinkage void __do_softirq(void); - asmlinkage void do_softirq(void) { unsigned long flags; diff -puN include/asm-powerpc/irq.h~proper-__do_softirq-prototype include/asm-powerpc/irq.h --- a/include/asm-powerpc/irq.h~proper-__do_softirq-prototype +++ a/include/asm-powerpc/irq.h @@ -619,8 +619,6 @@ struct pt_regs; #define __ARCH_HAS_DO_SOFTIRQ -extern void __do_softirq(void); - #ifdef CONFIG_IRQSTACKS /* * Per-cpu stacks for handling hard and soft interrupts. diff -puN include/linux/interrupt.h~proper-__do_softirq-prototype include/linux/interrupt.h --- a/include/linux/interrupt.h~proper-__do_softirq-prototype +++ a/include/linux/interrupt.h @@ -289,6 +289,7 @@ struct softirq_action }; asmlinkage void do_softirq(void); +asmlinkage void __do_softirq(void); extern void open_softirq(int nr, void (*action)(struct softirq_action*), void *data); extern void softirq_init(void); #define __raise_softirq_irqoff(nr) do { or_softirq_pending(1UL << (nr)); } while (0) _