]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - arch/mips/loongson/common/reset.c
MIPS: Loongson: Cleanup the halt and poweroff action
[mv-sheeva.git] / arch / mips / loongson / common / reset.c
index 5833f9fdfb79920d084de68adf24f33777efff1e..4bd9c18b07a533c087d21f01276b43a65a592950 100644 (file)
@@ -7,7 +7,7 @@
  * Copyright (C) 2007 Lemote, Inc. & Institute of Computing Technology
  * Author: Fuxin Zhang, zhangfx@lemote.com
  * Copyright (C) 2009 Lemote, Inc.
- * Author: Zhangjin Wu, wuzj@lemote.com
+ * Author: Zhangjin Wu, wuzhangjin@gmail.com
  */
 #include <linux/init.h>
 #include <linux/pm.h>
@@ -25,17 +25,26 @@ static void loongson_restart(char *command)
        ((void (*)(void))ioremap_nocache(LOONGSON_BOOT_BASE, 4)) ();
 }
 
-static void loongson_halt(void)
+static void loongson_poweroff(void)
 {
        mach_prepare_shutdown();
        unreachable();
 }
 
+static void loongson_halt(void)
+{
+       pr_notice("\n\n** You can safely turn off the power now **\n\n");
+       while (1) {
+               if (cpu_wait)
+                       cpu_wait();
+       }
+}
+
 static int __init mips_reboot_setup(void)
 {
        _machine_restart = loongson_restart;
        _machine_halt = loongson_halt;
-       pm_power_off = loongson_halt;
+       pm_power_off = loongson_poweroff;
 
        return 0;
 }