From: Andrew Morton If we're going to implement smp_call_function_single() on three architecture with the same prototype then it should have a declaration in a non-arch-specific header file. Move it into . Cc: Stephane Eranian Signed-off-by: Andrew Morton --- arch/i386/kernel/smp.c | 4 ++-- arch/ia64/kernel/perfmon.c | 1 + arch/ia64/sn/kernel/sn2/sn_hwperf.c | 3 ++- arch/x86_64/kernel/smpboot.c | 3 ++- include/asm-ia64/smp.h | 2 -- include/asm-x86_64/smp.h | 2 -- include/linux/smp.h | 3 +++ 7 files changed, 10 insertions(+), 8 deletions(-) diff -puN arch/i386/kernel/smp.c~i386-adds-smp_call_function_single-fix arch/i386/kernel/smp.c --- a/arch/i386/kernel/smp.c~i386-adds-smp_call_function_single-fix +++ a/arch/i386/kernel/smp.c @@ -683,8 +683,8 @@ __smp_call_function_single(int cpu, void * or is or has executed. */ -int smp_call_function_single (int cpu, void (*func) (void *info), void *info, - int nonatomic, int wait) +int smp_call_function_single(int cpu, void (*func) (void *info), void *info, + int nonatomic, int wait) { /* prevent preemption and reschedule on another processor */ int me = get_cpu(); diff -puN arch/ia64/kernel/perfmon.c~i386-adds-smp_call_function_single-fix arch/ia64/kernel/perfmon.c --- a/arch/ia64/kernel/perfmon.c~i386-adds-smp_call_function_single-fix +++ a/arch/ia64/kernel/perfmon.c @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include diff -puN arch/ia64/sn/kernel/sn2/sn_hwperf.c~i386-adds-smp_call_function_single-fix arch/ia64/sn/kernel/sn2/sn_hwperf.c --- a/arch/ia64/sn/kernel/sn2/sn_hwperf.c~i386-adds-smp_call_function_single-fix +++ a/arch/ia64/sn/kernel/sn2/sn_hwperf.c @@ -32,9 +32,10 @@ #include #include #include +#include + #include #include -#include #include #include #include diff -puN arch/x86_64/kernel/smpboot.c~i386-adds-smp_call_function_single-fix arch/x86_64/kernel/smpboot.c --- a/arch/x86_64/kernel/smpboot.c~i386-adds-smp_call_function_single-fix +++ a/arch/x86_64/kernel/smpboot.c @@ -46,9 +46,10 @@ #include #include #include - #include #include +#include + #include #include #include diff -puN include/asm-ia64/smp.h~i386-adds-smp_call_function_single-fix include/asm-ia64/smp.h --- a/include/asm-ia64/smp.h~i386-adds-smp_call_function_single-fix +++ a/include/asm-ia64/smp.h @@ -122,8 +122,6 @@ extern void __init smp_build_cpu_map(voi extern void __init init_smp_config (void); extern void smp_do_timer (struct pt_regs *regs); -extern int smp_call_function_single (int cpuid, void (*func) (void *info), void *info, - int retry, int wait); extern void smp_send_reschedule (int cpu); extern void lock_ipi_calllock(void); extern void unlock_ipi_calllock(void); diff -puN include/asm-x86_64/smp.h~i386-adds-smp_call_function_single-fix include/asm-x86_64/smp.h --- a/include/asm-x86_64/smp.h~i386-adds-smp_call_function_single-fix +++ a/include/asm-x86_64/smp.h @@ -43,8 +43,6 @@ extern void unlock_ipi_call_lock(void); extern int smp_num_siblings; extern void smp_send_reschedule(int cpu); void smp_stop_cpu(void); -extern int smp_call_function_single(int cpuid, void (*func) (void *info), - void *info, int retry, int wait); extern cpumask_t cpu_sibling_map[NR_CPUS]; extern cpumask_t cpu_core_map[NR_CPUS]; diff -puN include/linux/smp.h~i386-adds-smp_call_function_single-fix include/linux/smp.h --- a/include/linux/smp.h~i386-adds-smp_call_function_single-fix +++ a/include/linux/smp.h @@ -53,6 +53,9 @@ extern void smp_cpus_done(unsigned int m */ int smp_call_function(void(*func)(void *info), void *info, int retry, int wait); +int smp_call_function_single(int cpuid, void (*func) (void *info), void *info, + int retry, int wait); + /* * Call a function on all processors */ _