ppc64 iSeries: Make smp_release_cpus() callable on iSeries
authorMichael Ellerman <michael@ellerman.id.au>
Fri, 23 Sep 2005 04:54:37 +0000 (14:54 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Fri, 23 Sep 2005 04:54:37 +0000 (14:54 +1000)
We don't need to call smp_release_cpus() on iSeries but it's harmless
if we do and it removes another #ifdef ISERIES.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
arch/ppc64/kernel/head.S
arch/ppc64/kernel/setup.c

index 22a5ee07e1ea00a7a90a0f33d0604c6cd7ae1335..b1d0edff0c04fc40804aeaab083bc3099cd2bafa 100644 (file)
@@ -1970,20 +1970,22 @@ _GLOBAL(hmt_start_secondary)
        blr
 #endif
 
-#if defined(CONFIG_KEXEC) || (defined(CONFIG_SMP) && !defined(CONFIG_PPC_ISERIES))
+#if defined(CONFIG_KEXEC) || defined(CONFIG_SMP)
 _GLOBAL(smp_release_cpus)
        /* All secondary cpus are spinning on a common
         * spinloop, release them all now so they can start
         * to spin on their individual paca spinloops.
         * For non SMP kernels, the secondary cpus never
         * get out of the common spinloop.
+        * XXX This does nothing useful on iSeries, secondaries are
+        * already waiting on their paca.
         */
        li      r3,1
        LOADADDR(r5,__secondary_hold_spinloop)
        std     r3,0(r5)
        sync
        blr
-#endif /* CONFIG_SMP && !CONFIG_PPC_ISERIES */
+#endif /* CONFIG_SMP */
 
 
 /*
index ca8acf671e46ff5fbd16fec88724e9bbf869378e..acf826043e39009d79fbc3d8536e23b4484cf990 100644 (file)
@@ -154,7 +154,7 @@ struct screen_info screen_info = {
        .orig_video_points = 16
 };
 
-#if defined(CONFIG_PPC_MULTIPLATFORM) && defined(CONFIG_SMP)
+#ifdef CONFIG_SMP
 
 static int smt_enabled_cmdline;
 
@@ -307,7 +307,7 @@ static void __init setup_cpu_maps(void)
 
        systemcfg->processorCount = num_present_cpus();
 }
-#endif /* defined(CONFIG_PPC_MULTIPLATFORM) && defined(CONFIG_SMP) */
+#endif /* CONFIG_SMP */
 
 
 #ifdef CONFIG_PPC_MULTIPLATFORM
@@ -611,7 +611,7 @@ void __init setup_system(void)
        parse_early_param();
 #endif /* !CONFIG_PPC_ISERIES */
 
-#if defined(CONFIG_SMP) && !defined(CONFIG_PPC_ISERIES)
+#ifdef CONFIG_SMP
        /*
         * iSeries has already initialized the cpu maps at this point.
         */
@@ -621,7 +621,7 @@ void __init setup_system(void)
         * we can map physical -> logical CPU ids
         */
        smp_release_cpus();
-#endif /* defined(CONFIG_SMP) && !defined(CONFIG_PPC_ISERIES) */
+#endif
 
        printk("Starting Linux PPC64 %s\n", system_utsname.version);