LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH] x86: fixup machine_ops reboot_{32|64}.c unification fallout
@ 2008-02-12 23:37 Jody Belka
  2008-02-13 12:31 ` Ingo Molnar
  0 siblings, 1 reply; 2+ messages in thread
From: Jody Belka @ 2008-02-12 23:37 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ingo Molnar, Thomas Gleixner, Miguel Boton

Please cc on any replies, thanks.
---
When reboot_32.c and reboot_64.c were unified (commit 4d022e35fd...),
the machine_ops code was broken, leading to xen pvops kernels failing
to properly halt/poweroff/reboot etc. This fixes that up.

Signed-off-by: Jody Belka <knew-linux@pimb.org>
---
 arch/x86/kernel/reboot.c |   46 ++++++++++++++++++++++++++++++++++++----------
 1 files changed, 36 insertions(+), 10 deletions(-)

diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c
index 5818dc2..7fd6ac4 100644
--- a/arch/x86/kernel/reboot.c
+++ b/arch/x86/kernel/reboot.c
@@ -326,7 +326,7 @@ static inline void kb_wait(void)
 	}
 }
 
-void machine_emergency_restart(void)
+static void native_machine_emergency_restart(void)
 {
 	int i;
 
@@ -376,7 +376,7 @@ void machine_emergency_restart(void)
 	}
 }
 
-void machine_shutdown(void)
+static void native_machine_shutdown(void)
 {
 	/* Stop the cpus and apics */
 #ifdef CONFIG_SMP
@@ -420,7 +420,7 @@ void machine_shutdown(void)
 #endif
 }
 
-void machine_restart(char *__unused)
+static void native_machine_restart(char *__unused)
 {
 	printk("machine restart\n");
 
@@ -429,11 +429,11 @@ void machine_restart(char *__unused)
 	machine_emergency_restart();
 }
 
-void machine_halt(void)
+static void native_machine_halt(void)
 {
 }
 
-void machine_power_off(void)
+static void native_machine_power_off(void)
 {
 	if (pm_power_off) {
 		if (!reboot_force)
@@ -443,9 +443,35 @@ void machine_power_off(void)
 }
 
 struct machine_ops machine_ops = {
-	.power_off = machine_power_off,
-	.shutdown = machine_shutdown,
-	.emergency_restart = machine_emergency_restart,
-	.restart = machine_restart,
-	.halt = machine_halt
+	.power_off = native_machine_power_off,
+	.shutdown = native_machine_shutdown,
+	.emergency_restart = native_machine_emergency_restart,
+	.restart = native_machine_restart,
+	.halt = native_machine_halt
 };
+
+void machine_power_off(void)
+{
+	machine_ops.power_off();
+}
+
+void machine_shutdown(void)
+{
+	machine_ops.shutdown();
+}
+
+void machine_emergency_restart(void)
+{
+	machine_ops.emergency_restart();
+}
+
+void machine_restart(char *cmd)
+{
+	machine_ops.restart(cmd);
+}
+
+void machine_halt(void)
+{
+	machine_ops.halt();
+}
+
-- 
1.5.2.5



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] x86: fixup machine_ops reboot_{32|64}.c unification fallout
  2008-02-12 23:37 [PATCH] x86: fixup machine_ops reboot_{32|64}.c unification fallout Jody Belka
@ 2008-02-13 12:31 ` Ingo Molnar
  0 siblings, 0 replies; 2+ messages in thread
From: Ingo Molnar @ 2008-02-13 12:31 UTC (permalink / raw)
  To: Jody Belka; +Cc: linux-kernel, Thomas Gleixner, Miguel Boton


* Jody Belka <lists-lkml@pimb.org> wrote:

> Please cc on any replies, thanks.
> ---
> When reboot_32.c and reboot_64.c were unified (commit 4d022e35fd...),
> the machine_ops code was broken, leading to xen pvops kernels failing
> to properly halt/poweroff/reboot etc. This fixes that up.

thanks Jody, applied.

	Ingo

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-02-13 12:31 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-02-12 23:37 [PATCH] x86: fixup machine_ops reboot_{32|64}.c unification fallout Jody Belka
2008-02-13 12:31 ` Ingo Molnar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).