MIPS: Malta: hang on halt
authorPaul Burton <paul.burton@imgtec.com>
Wed, 7 May 2014 11:20:59 +0000 (12:20 +0100)
committerRalf Baechle <ralf@linux-mips.org>
Fri, 30 May 2014 19:01:09 +0000 (21:01 +0200)
When the system is halted it makes little sense to reset it. Instead,
hang by executing an infinite loop.

[ralf@linux-mips.org: Remove printk from mips_machine_halt() - this is not
the place to communicate with the user.]

Suggested-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/6906/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/mti-malta/malta-reset.c

index d627d4b2b47f4f456addef452e77c16513238bd7..199ed28066e4522ff087d8231c72e2d6783fd92c 100644 (file)
@@ -24,17 +24,19 @@ static void mips_machine_restart(char *command)
 
 static void mips_machine_halt(void)
 {
-       unsigned int __iomem *softres_reg =
-               ioremap(SOFTRES_REG, sizeof(unsigned int));
+       while (true);
+}
 
-       __raw_writel(GORESET, softres_reg);
+static void mips_machine_power_off(void)
+{
+       mips_machine_restart(NULL);
 }
 
 static int __init mips_reboot_setup(void)
 {
        _machine_restart = mips_machine_restart;
        _machine_halt = mips_machine_halt;
-       pm_power_off = mips_machine_halt;
+       pm_power_off = mips_machine_power_off;
 
        return 0;
 }