]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - arch/arm/kernel/process.c
ARM: call machine_shutdown() from machine_halt(), etc
[mv-sheeva.git] / arch / arm / kernel / process.c
index aaf51159203af6b721bc8710c3ab5a6bab61cd77..2e2ec97cc50caeaae9b212705bb632aed057c446 100644 (file)
@@ -198,19 +198,29 @@ int __init reboot_setup(char *str)
 
 __setup("reboot=", reboot_setup);
 
-void machine_halt(void)
+void machine_shutdown(void)
 {
+#ifdef CONFIG_SMP
+       smp_send_stop();
+#endif
 }
 
+void machine_halt(void)
+{
+       machine_shutdown();
+       while (1);
+}
 
 void machine_power_off(void)
 {
+       machine_shutdown();
        if (pm_power_off)
                pm_power_off();
 }
 
 void machine_restart(char *cmd)
 {
+       machine_shutdown();
        arm_pm_restart(reboot_mode, cmd);
 }