[PATCH] sanitize sections for sparc32 smp
Al Viro [Thu, 1 Feb 2007 13:52:33 +0000 (13:52 +0000)]
a) sun4d_boot_one_cpu() should be __cpuinit (called only from
   __cpuinit __cpu_up(), for one thing, leads to calls of __cpuinit
   functions for another).
b) got externs in arch/sparc/kernel/smp.c to match reality.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

arch/sparc/kernel/smp.c
arch/sparc/kernel/sun4d_smp.c

index 276f228..6b5f26b 100644 (file)
@@ -292,8 +292,8 @@ int setup_profiling_timer(unsigned int multiplier)
 
 void __init smp_prepare_cpus(unsigned int max_cpus)
 {
-       extern void smp4m_boot_cpus(void);
-       extern void smp4d_boot_cpus(void);
+       extern void __init smp4m_boot_cpus(void);
+       extern void __init smp4d_boot_cpus(void);
        int i, cpuid, extra;
 
        printk("Entering SMP Mode...\n");
@@ -375,8 +375,8 @@ void __init smp_prepare_boot_cpu(void)
 
 int __cpuinit __cpu_up(unsigned int cpu)
 {
-       extern int smp4m_boot_one_cpu(int);
-       extern int smp4d_boot_one_cpu(int);
+       extern int __cpuinit smp4m_boot_one_cpu(int);
+       extern int __cpuinit smp4d_boot_one_cpu(int);
        int ret=0;
 
        switch(sparc_cpu_model) {
index c80ea61..c69de5d 100644 (file)
@@ -164,7 +164,7 @@ void __init smp4d_boot_cpus(void)
        local_flush_cache_all();
 }
 
-int smp4d_boot_one_cpu(int i)
+int __cpuinit smp4d_boot_one_cpu(int i)
 {
                        extern unsigned long sun4d_cpu_startup;
                        unsigned long *entry = &sun4d_cpu_startup;