diff options
author | Marc Zyngier <marc.zyngier@arm.com> | 2013-07-11 07:13:00 -0400 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2013-07-19 10:57:08 -0400 |
commit | ff701306cd49aaff80fb852323b387812bc76491 (patch) | |
tree | f1a0a512999eca18132e785bf4d05d555fd28417 | |
parent | db6f41063cbdb58b14846e600e6bc3f4e4c2e888 (diff) |
arm64: use common reboot infrastructure
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>
-rw-r--r-- | arch/arm64/include/asm/system_misc.h | 3 | ||||
-rw-r--r-- | arch/arm64/kernel/process.c | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm64/include/asm/system_misc.h b/arch/arm64/include/asm/system_misc.h index a6e1750369ef..7a18fabbe0f6 100644 --- a/arch/arm64/include/asm/system_misc.h +++ b/arch/arm64/include/asm/system_misc.h | |||
@@ -23,6 +23,7 @@ | |||
23 | #include <linux/compiler.h> | 23 | #include <linux/compiler.h> |
24 | #include <linux/linkage.h> | 24 | #include <linux/linkage.h> |
25 | #include <linux/irqflags.h> | 25 | #include <linux/irqflags.h> |
26 | #include <linux/reboot.h> | ||
26 | 27 | ||
27 | struct pt_regs; | 28 | struct pt_regs; |
28 | 29 | ||
@@ -41,7 +42,7 @@ extern void show_pte(struct mm_struct *mm, unsigned long addr); | |||
41 | extern void __show_regs(struct pt_regs *); | 42 | extern void __show_regs(struct pt_regs *); |
42 | 43 | ||
43 | void soft_restart(unsigned long); | 44 | void soft_restart(unsigned long); |
44 | extern void (*arm_pm_restart)(char str, const char *cmd); | 45 | extern void (*arm_pm_restart)(enum reboot_mode reboot_mode, const char *cmd); |
45 | 46 | ||
46 | #define UDBG_UNDEFINED (1 << 0) | 47 | #define UDBG_UNDEFINED (1 << 0) |
47 | #define UDBG_SYSCALL (1 << 1) | 48 | #define UDBG_SYSCALL (1 << 1) |
diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c index 46f02c3b5015..1788bf6b471f 100644 --- a/arch/arm64/kernel/process.c +++ b/arch/arm64/kernel/process.c | |||
@@ -132,7 +132,7 @@ void machine_restart(char *cmd) | |||
132 | 132 | ||
133 | /* Now call the architecture specific reboot code. */ | 133 | /* Now call the architecture specific reboot code. */ |
134 | if (arm_pm_restart) | 134 | if (arm_pm_restart) |
135 | arm_pm_restart('h', cmd); | 135 | arm_pm_restart(reboot_mode, cmd); |
136 | 136 | ||
137 | /* | 137 | /* |
138 | * Whoops - the architecture was unable to reboot. | 138 | * Whoops - the architecture was unable to reboot. |