From: William Lee Irwin III <wli@holomorphy.com>

An analysis of the code determined that AP initialization called init_idle()
no less than three times, 2 out of the three with incorrect numbers of
arguments.  This patch removes the superfluous calls.

Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/arch/sparc/kernel/sun4d_smp.c  |    2 --
 25-akpm/arch/sparc/kernel/sun4m_smp.c  |    2 --
 25-akpm/arch/sparc/kernel/trampoline.S |    2 --
 3 files changed, 6 deletions(-)

diff -puN arch/sparc/kernel/sun4d_smp.c~sparc32-init_idle arch/sparc/kernel/sun4d_smp.c
--- 25/arch/sparc/kernel/sun4d_smp.c~sparc32-init_idle	2004-08-04 22:37:29.865822672 -0700
+++ 25-akpm/arch/sparc/kernel/sun4d_smp.c	2004-08-04 22:37:29.874821304 -0700
@@ -100,8 +100,6 @@ void __init smp4d_callin(void)
 	 * the SMP initialization the master will be just allowed
 	 * to call the scheduler code.
 	 */
-	init_idle();
-
 	/* Get our local ticker going. */
 	smp_setup_percpu_timer();
 
diff -puN arch/sparc/kernel/sun4m_smp.c~sparc32-init_idle arch/sparc/kernel/sun4m_smp.c
--- 25/arch/sparc/kernel/sun4m_smp.c~sparc32-init_idle	2004-08-04 22:37:29.867822368 -0700
+++ 25-akpm/arch/sparc/kernel/sun4m_smp.c	2004-08-04 22:37:29.873821456 -0700
@@ -95,8 +95,6 @@ void __init smp4m_callin(void)
 	 * the SMP initialization the master will be just allowed
 	 * to call the scheduler code.
 	 */
-	init_idle();
-
 	/* Allow master to continue. */
 	swap((unsigned long *)&cpu_callin_map[cpuid], 1);
 
diff -puN arch/sparc/kernel/trampoline.S~sparc32-init_idle arch/sparc/kernel/trampoline.S
--- 25/arch/sparc/kernel/trampoline.S~sparc32-init_idle	2004-08-04 22:37:29.869822064 -0700
+++ 25-akpm/arch/sparc/kernel/trampoline.S	2004-08-04 22:37:29.874821304 -0700
@@ -88,8 +88,6 @@ cpu3_startup:
 	.align	4
 
 smp_do_cpu_idle:
-	call	init_idle
-	 nop
 	call	cpu_idle
 	 mov	0, %o0
 
_