[MIPS] VR41xx: replace infinite loop with hibernate
authorYoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Thu, 16 Aug 2007 13:27:05 +0000 (22:27 +0900)
committerRalf Baechle <ralf@linux-mips.org>
Thu, 11 Oct 2007 22:45:59 +0000 (23:45 +0100)
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/vr41xx/common/pmu.c

index ba0a4f6..ad5b6db 100644 (file)
@@ -91,14 +91,7 @@ static void vr41xx_halt(void)
 {
        local_irq_disable();
        printk(KERN_NOTICE "\nYou can turn off the power supply\n");
-       while (1) ;
-}
-
-static void vr41xx_power_off(void)
-{
-       local_irq_disable();
-       printk(KERN_NOTICE "\nYou can turn off the power supply\n");
-       while (1) ;
+       __asm__("hibernate;\n");
 }
 
 static int __init vr41xx_pmu_init(void)
@@ -134,7 +127,7 @@ static int __init vr41xx_pmu_init(void)
        cpu_wait = vr41xx_cpu_wait;
        _machine_restart = vr41xx_restart;
        _machine_halt = vr41xx_halt;
-       pm_power_off = vr41xx_power_off;
+       pm_power_off = vr41xx_halt;
 
        return 0;
 }