x86: re-add reboot fixups
authorIngo Molnar <mingo@elte.hu>
Thu, 6 Mar 2008 17:29:43 +0000 (18:29 +0100)
committerIngo Molnar <mingo@elte.hu>
Fri, 7 Mar 2008 15:39:14 +0000 (16:39 +0100)
Jan Beulich noticed that the reboot fixups went missing during
reboot.c unification.

(commit 4d022e35fd7e07c522c7863fee6f07e53cf3fc14)

Geode and a few other rare boards with special reboot quirks are
affected.

Reported-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/reboot.c

index 7fd6ac43e4a114a6de9826fe71c7a0cede037c69..55ceb8cdef75c760f1552649e2cd102326760aec 100644 (file)
@@ -326,6 +326,10 @@ static inline void kb_wait(void)
        }
 }
 
+void __attribute__((weak)) mach_reboot_fixups(void)
+{
+}
+
 static void native_machine_emergency_restart(void)
 {
        int i;
@@ -337,6 +341,8 @@ static void native_machine_emergency_restart(void)
                /* Could also try the reset bit in the Hammer NB */
                switch (reboot_type) {
                case BOOT_KBD:
+                       mach_reboot_fixups(); /* for board specific fixups */
+
                        for (i = 0; i < 10; i++) {
                                kb_wait();
                                udelay(50);