Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

MIPS: Malta: hang on halt

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>

authored by

Paul Burton and committed by
Ralf Baechle
37e5c835 9e53481e

+6 -4
+6 -4
arch/mips/mti-malta/malta-reset.c
··· 24 24 25 25 static void mips_machine_halt(void) 26 26 { 27 - unsigned int __iomem *softres_reg = 28 - ioremap(SOFTRES_REG, sizeof(unsigned int)); 27 + while (true); 28 + } 29 29 30 - __raw_writel(GORESET, softres_reg); 30 + static void mips_machine_power_off(void) 31 + { 32 + mips_machine_restart(NULL); 31 33 } 32 34 33 35 static int __init mips_reboot_setup(void) 34 36 { 35 37 _machine_restart = mips_machine_restart; 36 38 _machine_halt = mips_machine_halt; 37 - pm_power_off = mips_machine_halt; 39 + pm_power_off = mips_machine_power_off; 38 40 39 41 return 0; 40 42 }