Merge branch 'core-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[sfrench/cifs-2.6.git] / arch / x86 / kernel / topology.c
index e6757aaa202bda9c7dfc1992d3e148fa55541f45..7e4515957a1c89ad4980f7aa119120ee4d7cfa2a 100644 (file)
  *
  * Send feedback to <colpatch@us.ibm.com>
  */
-#include <linux/init.h>
-#include <linux/smp.h>
 #include <linux/nodemask.h>
 #include <linux/mmzone.h>
+#include <linux/init.h>
+#include <linux/smp.h>
 #include <asm/cpu.h>
 
 static DEFINE_PER_CPU(struct x86_cpu, cpu_devices);
 
 #ifdef CONFIG_HOTPLUG_CPU
-int arch_register_cpu(int num)
+int __ref arch_register_cpu(int num)
 {
        /*
         * CPU0 cannot be offlined due to several
@@ -47,21 +47,23 @@ int arch_register_cpu(int num)
         */
        if (num)
                per_cpu(cpu_devices, num).cpu.hotpluggable = 1;
+
        return register_cpu(&per_cpu(cpu_devices, num).cpu, num);
 }
 EXPORT_SYMBOL(arch_register_cpu);
 
 void arch_unregister_cpu(int num)
 {
-       return unregister_cpu(&per_cpu(cpu_devices, num).cpu);
+       unregister_cpu(&per_cpu(cpu_devices, num).cpu);
 }
 EXPORT_SYMBOL(arch_unregister_cpu);
-#else
+#else /* CONFIG_HOTPLUG_CPU */
+
 static int __init arch_register_cpu(int num)
 {
        return register_cpu(&per_cpu(cpu_devices, num).cpu, num);
 }
-#endif /*CONFIG_HOTPLUG_CPU*/
+#endif /* CONFIG_HOTPLUG_CPU */
 
 static int __init topology_init(void)
 {
@@ -70,11 +72,11 @@ static int __init topology_init(void)
 #ifdef CONFIG_NUMA
        for_each_online_node(i)
                register_one_node(i);
-#endif /* CONFIG_NUMA */
+#endif
 
        for_each_present_cpu(i)
                arch_register_cpu(i);
+
        return 0;
 }
-
 subsys_initcall(topology_init);