]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/x86/xen/smp.c
xen_play_dead() is __cpuinit
[linux-2.6-omap-h63xx.git] / arch / x86 / xen / smp.c
index be5cbb2b7c60e32aa536c1eb8e7a44b1a6c6b94d..acd9b6705e024f0833614f209caf2ab0da62807a 100644 (file)
@@ -332,7 +332,8 @@ static void xen_smp_cpus_done(unsigned int max_cpus)
 {
 }
 
-int xen_cpu_disable(void)
+#ifdef CONFIG_HOTPLUG_CPU
+static int xen_cpu_disable(void)
 {
        unsigned int cpu = smp_processor_id();
        if (cpu == 0)
@@ -344,7 +345,7 @@ int xen_cpu_disable(void)
        return 0;
 }
 
-void xen_cpu_die(unsigned int cpu)
+static void xen_cpu_die(unsigned int cpu)
 {
        while (HYPERVISOR_vcpu_op(VCPUOP_is_up, cpu, NULL)) {
                current->state = TASK_UNINTERRUPTIBLE;
@@ -361,13 +362,30 @@ void xen_cpu_die(unsigned int cpu)
                alternatives_smp_switch(0);
 }
 
-void xen_play_dead(void)
+static void __cpuinit xen_play_dead(void) /* used only with CPU_HOTPLUG */
 {
        play_dead_common();
        HYPERVISOR_vcpu_op(VCPUOP_down, smp_processor_id(), NULL);
        cpu_bringup();
 }
 
+#else /* !CONFIG_HOTPLUG_CPU */
+static int xen_cpu_disable(void)
+{
+       return -ENOSYS;
+}
+
+static void xen_cpu_die(unsigned int cpu)
+{
+       BUG();
+}
+
+static void xen_play_dead(void)
+{
+       BUG();
+}
+
+#endif
 static void stop_self(void *v)
 {
        int cpu = smp_processor_id();