arm64: use common reboot infrastructure
authorMarc Zyngier <marc.zyngier@arm.com>
Thu, 11 Jul 2013 11:13:00 +0000 (12:13 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 19 Jul 2013 14:57:08 +0000 (15:57 +0100)
Commit 7b6d864b48d9 (reboot: arm: change reboot_mode to use enum
reboot_mode) changed the way reboot is handled on arm, which has a
direct impact on arm64 as we share the reset driver on the VE platform.

The obvious fix is to move arm64 to use the same infrastructure.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
[catalin.marinas@arm.com: removed reboot_mode = REBOOT_HARD default setting]
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/include/asm/system_misc.h
arch/arm64/kernel/process.c

index a6e1750369efcb32ea589b6450589515bda1c283..7a18fabbe0f6c5e6579bf4a0b4b88113d1d0adee 100644 (file)
@@ -23,6 +23,7 @@
 #include <linux/compiler.h>
 #include <linux/linkage.h>
 #include <linux/irqflags.h>
+#include <linux/reboot.h>
 
 struct pt_regs;
 
@@ -41,7 +42,7 @@ extern void show_pte(struct mm_struct *mm, unsigned long addr);
 extern void __show_regs(struct pt_regs *);
 
 void soft_restart(unsigned long);
-extern void (*arm_pm_restart)(char str, const char *cmd);
+extern void (*arm_pm_restart)(enum reboot_mode reboot_mode, const char *cmd);
 
 #define UDBG_UNDEFINED (1 << 0)
 #define UDBG_SYSCALL   (1 << 1)
index 46f02c3b5015ece9b1ca0ab4d57d9540a3288e67..1788bf6b471f63a6fe708cb608039c51fe1e40fa 100644 (file)
@@ -132,7 +132,7 @@ void machine_restart(char *cmd)
 
        /* Now call the architecture specific reboot code. */
        if (arm_pm_restart)
-               arm_pm_restart('h', cmd);
+               arm_pm_restart(reboot_mode, cmd);
 
        /*
         * Whoops - the architecture was unable to reboot.