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. |
