From: Ashok Raj This patch changes __init to __devinit to init_idle so that when a new cpu arrives, it can call these functions at a later time. --- 25-akpm/init/main.c | 2 +- 25-akpm/kernel/sched.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff -puN init/main.c~ia64-cpuhotplug-core_kernel_init init/main.c --- 25/init/main.c~ia64-cpuhotplug-core_kernel_init Tue May 4 17:46:00 2004 +++ 25-akpm/init/main.c Tue May 4 17:46:00 2004 @@ -184,7 +184,7 @@ EXPORT_SYMBOL(loops_per_jiffy); better than 1% */ #define LPS_PREC 8 -void __init calibrate_delay(void) +void __devinit calibrate_delay(void) { unsigned long ticks, loopbit; int lps_precision = LPS_PREC; diff -puN kernel/sched.c~ia64-cpuhotplug-core_kernel_init kernel/sched.c --- 25/kernel/sched.c~ia64-cpuhotplug-core_kernel_init Tue May 4 17:46:00 2004 +++ 25-akpm/kernel/sched.c Tue May 4 17:46:00 2004 @@ -3392,7 +3392,7 @@ void show_state(void) read_unlock(&tasklist_lock); } -void __init init_idle(task_t *idle, int cpu) +void __devinit init_idle(task_t *idle, int cpu) { runqueue_t *idle_rq = cpu_rq(cpu), *rq = cpu_rq(task_cpu(idle)); unsigned long flags; _