From: Adrian Bunk Add a proper extern for late_time_init in include/linux/init.h Signed-off-by: Adrian Bunk Acked-by: Ingo Molnar Cc: Thomas Gleixner Cc: john stultz Signed-off-by: Andrew Morton --- arch/mips/pmc-sierra/yosemite/setup.c | 3 --- arch/ppc/platforms/sbc82xx.c | 2 -- arch/um/kernel/time.c | 3 +-- arch/x86/kernel/time_32.c | 1 - include/asm-x86/time.h | 1 - include/linux/init.h | 2 ++ 6 files changed, 3 insertions(+), 9 deletions(-) diff -puN arch/mips/pmc-sierra/yosemite/setup.c~proper-extern-for-late_time_init arch/mips/pmc-sierra/yosemite/setup.c --- a/arch/mips/pmc-sierra/yosemite/setup.c~proper-extern-for-late_time_init +++ a/arch/mips/pmc-sierra/yosemite/setup.c @@ -143,9 +143,6 @@ void __init plat_time_init(void) mips_hpt_frequency = 33000000 * 3 * 5; } -/* No other usable initialization hook than this ... */ -extern void (*late_time_init)(void); - unsigned long ocd_base; EXPORT_SYMBOL(ocd_base); diff -puN arch/ppc/platforms/sbc82xx.c~proper-extern-for-late_time_init arch/ppc/platforms/sbc82xx.c --- a/arch/ppc/platforms/sbc82xx.c~proper-extern-for-late_time_init +++ a/arch/ppc/platforms/sbc82xx.c @@ -30,8 +30,6 @@ static void (*callback_init_IRQ)(void); extern unsigned char __res[sizeof(bd_t)]; -extern void (*late_time_init)(void); - #ifdef CONFIG_GEN_RTC TODC_ALLOC(); diff -puN arch/um/kernel/time.c~proper-extern-for-late_time_init arch/um/kernel/time.c --- a/arch/um/kernel/time.c~proper-extern-for-late_time_init +++ a/arch/um/kernel/time.c @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -109,8 +110,6 @@ static void __init setup_itimer(void) clockevents_register_device(&itimer_clockevent); } -extern void (*late_time_init)(void); - void __init time_init(void) { long long nsecs; diff -puN arch/x86/kernel/time_32.c~proper-extern-for-late_time_init arch/x86/kernel/time_32.c --- a/arch/x86/kernel/time_32.c~proper-extern-for-late_time_init +++ a/arch/x86/kernel/time_32.c @@ -115,7 +115,6 @@ irqreturn_t timer_interrupt(int irq, voi return IRQ_HANDLED; } -extern void (*late_time_init)(void); /* Duplicate of time_init() below, with hpet_enable part added */ void __init hpet_time_init(void) { diff -puN include/asm-x86/time.h~proper-extern-for-late_time_init include/asm-x86/time.h --- a/include/asm-x86/time.h~proper-extern-for-late_time_init +++ a/include/asm-x86/time.h @@ -1,7 +1,6 @@ #ifndef _ASMX86_TIME_H #define _ASMX86_TIME_H -extern void (*late_time_init)(void); extern void hpet_time_init(void); #include diff -puN include/linux/init.h~proper-extern-for-late_time_init include/linux/init.h --- a/include/linux/init.h~proper-extern-for-late_time_init +++ a/include/linux/init.h @@ -148,6 +148,8 @@ extern int initmem_now_dynamic; void setup_arch(char **); void prepare_namespace(void); +extern void (*late_time_init)(void); + #endif #ifndef MODULE _