Skip to contentSkip to conversation

Loongson: Cleanup the halt and poweroff action

PATCH In review Wu Zhangjin 2 participants 2 messages Jan 27, 2010 MIPS

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Loongson: Cleanup the halt and poweroff action

(Add linux-mips <[email protected]> into the CC: list to make the patchwork get it!)

From: Wu Zhangjin <[email protected]>

In the old source code, I have let halt and poweroff do the same action, but in reality, they have different meanings.

As the manpage of shutdown shows:

-r     Reboot after shutdown.
-H     Halt action is to halt or drop into boot monitor on systems that support it.
-P     Halt action is to turn off the power.

and in the real world, some machines(e.g. NAS) did not provide a power button and the shutdown works as reset, so, we need to provide a mechanism to let the users turn off the power safely without breaking the system, such a mechanism is "halt", which only put the system into a dead loop or a power-save mode and print some information to the screen to tell the users to turn off the power safely.

$ shutdown -hH now /* loongson_halt, not turn off the power */
$ shutdown -hP now /* loongson_poweroff, work as poweroff */
---
 arch/mips/loongson/common/reset.c |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)
arch/mips/loongson/common/reset.c +11 -2
index 33dff18..4bd9c18 100644
@@ -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;
 }
Signature · 1 line
1.6.6
#1 lore raw

On Wed, Jan 27, 2010 at 10:39:46PM +0800, Wu Zhangjin wrote:

Thanks, queued for 2.6.34.

Ralf