powerpc/smp: Add a smp_ops->bringup_up() done callback
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Tue, 8 Mar 2011 02:50:37 +0000 (13:50 +1100)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Fri, 1 Apr 2011 04:37:29 +0000 (15:37 +1100)
This allows us to stop abusing smp_ops->setup_cpu() for cleanup
tasks that have to take place after the initial boot time CPU
bringup.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/include/asm/machdep.h
arch/powerpc/kernel/smp.c

index 578d3309e1092c2e7c50dcb11b03dd8b24c33062..e4f01915fbb01406166d02a5eef1350a1316205f 100644 (file)
@@ -35,6 +35,7 @@ struct smp_ops_t {
        int   (*probe)(void);
        void  (*kick_cpu)(int nr);
        void  (*setup_cpu)(int nr);
+       void  (*bringup_done)(void);
        void  (*take_timebase)(void);
        void  (*give_timebase)(void);
        int   (*cpu_disable)(void);
index f6cc5c19c6ac1431702af8a2571405dac5fc5f4e..df3739713edd9f2cf3f50c80875e64783c2c3712 100644 (file)
@@ -553,7 +553,11 @@ void __init smp_cpus_done(unsigned int max_cpus)
 
        free_cpumask_var(old_mask);
 
+       if (smp_ops && smp_ops->bringup_done)
+               smp_ops->bringup_done();
+
        dump_numa_cpu_topology();
+
 }
 
 int arch_sd_sibling_asym_packing(void)