]> git.karo-electronics.de Git - linux-beck.git/blobdiff - arch/arm/kernel/process.c
[ARM SMP] Add hotplug CPU infrastructure
[linux-beck.git] / arch / arm / kernel / process.c
index 409db6d5ec9994b53a729f755435d3aa518e3aad..ba298277becde78687365206e86cdfcbe4936545 100644 (file)
@@ -26,6 +26,7 @@
 #include <linux/interrupt.h>
 #include <linux/kallsyms.h>
 #include <linux/init.h>
+#include <linux/cpu.h>
 
 #include <asm/system.h>
 #include <asm/io.h>
@@ -105,6 +106,14 @@ void cpu_idle(void)
        /* endless idle loop with no priority at all */
        while (1) {
                void (*idle)(void) = pm_idle;
+
+#ifdef CONFIG_HOTPLUG_CPU
+               if (cpu_is_offline(smp_processor_id())) {
+                       leds_event(led_idle_start);
+                       cpu_die();
+               }
+#endif
+
                if (!idle)
                        idle = default_idle;
                preempt_disable();