]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/powerpc/kernel/idle.c
ACPI: cpuidle: port idle timer suspend/resume workaround to cpuidle
[linux-2.6-omap-h63xx.git] / arch / powerpc / kernel / idle.c
index 8994af327b47a2586aa1719f442d10a052fd14eb..a9e9cbd329752aa11411d7d3058f6903655a9840 100644 (file)
 #include <asm/smp.h>
 
 #ifdef CONFIG_HOTPLUG_CPU
+/* this is used for software suspend, and that shuts down
+ * CPUs even while the system is still booting... */
 #define cpu_should_die()       (cpu_is_offline(smp_processor_id()) && \
-                                system_state == SYSTEM_RUNNING)
+                                  (system_state == SYSTEM_RUNNING     \
+                                || system_state == SYSTEM_BOOTING))
 #else
 #define cpu_should_die()       0
 #endif
@@ -110,17 +113,22 @@ static ctl_table powersave_nap_ctl_table[]={
                .mode           = 0644,
                .proc_handler   = &proc_dointvec,
        },
-       { 0, },
+       {}
 };
 static ctl_table powersave_nap_sysctl_root[] = {
-       { 1, "kernel", NULL, 0, 0755, powersave_nap_ctl_table, },
-       { 0,},
+       {
+               .ctl_name       = CTL_KERN,
+               .procname       = "kernel",
+               .mode           = 0755,
+               .child          = powersave_nap_ctl_table,
+       },
+       {}
 };
 
 static int __init
 register_powersave_nap_sysctl(void)
 {
-       register_sysctl_table(powersave_nap_sysctl_root, 0);
+       register_sysctl_table(powersave_nap_sysctl_root);
 
        return 0;
 }