diff options
author | Catalin Marinas <catalin.marinas@arm.com> | 2013-02-28 13:14:37 -0500 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2013-05-08 05:23:00 -0400 |
commit | aa1e8ec1d2a997b39aebab13c32b77da2ac0f287 (patch) | |
tree | 718754e6b7332089d05aaf03d0b0f59034b81ca5 | |
parent | c4188edc9e92fdc4b341c5cba91ffd8c3e9997e5 (diff) |
arm64: vexpress: Add support for poweroff/restart
This patch adds the arm_pm_poweroff definition expected by the
vexpress-poweroff.c driver and enables the latter for arm64.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Pawel Moll <pawel.moll@arm.com>
-rw-r--r-- | arch/arm64/Kconfig | 3 | ||||
-rw-r--r-- | arch/arm64/include/asm/system_misc.h | 2 | ||||
-rw-r--r-- | arch/arm64/kernel/process.c | 8 |
3 files changed, 8 insertions, 5 deletions
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index c05bb215292a..43b0e9f10a39 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig | |||
@@ -32,6 +32,8 @@ config ARM64 | |||
32 | select OF | 32 | select OF |
33 | select OF_EARLY_FLATTREE | 33 | select OF_EARLY_FLATTREE |
34 | select PERF_USE_VMALLOC | 34 | select PERF_USE_VMALLOC |
35 | select POWER_RESET | ||
36 | select POWER_SUPPLY | ||
35 | select RTC_LIB | 37 | select RTC_LIB |
36 | select SPARSE_IRQ | 38 | select SPARSE_IRQ |
37 | select SYSCTL_EXCEPTION_TRACE | 39 | select SYSCTL_EXCEPTION_TRACE |
@@ -106,6 +108,7 @@ config ARCH_VEXPRESS | |||
106 | bool "ARMv8 software model (Versatile Express)" | 108 | bool "ARMv8 software model (Versatile Express)" |
107 | select ARCH_REQUIRE_GPIOLIB | 109 | select ARCH_REQUIRE_GPIOLIB |
108 | select COMMON_CLK_VERSATILE | 110 | select COMMON_CLK_VERSATILE |
111 | select POWER_RESET_VEXPRESS | ||
109 | select VEXPRESS_CONFIG | 112 | select VEXPRESS_CONFIG |
110 | help | 113 | help |
111 | This enables support for the ARMv8 software model (Versatile | 114 | This enables support for the ARMv8 software model (Versatile |
diff --git a/arch/arm64/include/asm/system_misc.h b/arch/arm64/include/asm/system_misc.h index 95e407255347..a6e1750369ef 100644 --- a/arch/arm64/include/asm/system_misc.h +++ b/arch/arm64/include/asm/system_misc.h | |||
@@ -41,7 +41,7 @@ extern void show_pte(struct mm_struct *mm, unsigned long addr); | |||
41 | extern void __show_regs(struct pt_regs *); | 41 | extern void __show_regs(struct pt_regs *); |
42 | 42 | ||
43 | void soft_restart(unsigned long); | 43 | void soft_restart(unsigned long); |
44 | extern void (*pm_restart)(const char *cmd); | 44 | extern void (*arm_pm_restart)(char str, const char *cmd); |
45 | 45 | ||
46 | #define UDBG_UNDEFINED (1 << 0) | 46 | #define UDBG_UNDEFINED (1 << 0) |
47 | #define UDBG_SYSCALL (1 << 1) | 47 | #define UDBG_SYSCALL (1 << 1) |
diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c index 116a60abe86f..bbefb6fdfee2 100644 --- a/arch/arm64/kernel/process.c +++ b/arch/arm64/kernel/process.c | |||
@@ -81,8 +81,8 @@ void soft_restart(unsigned long addr) | |||
81 | void (*pm_power_off)(void); | 81 | void (*pm_power_off)(void); |
82 | EXPORT_SYMBOL_GPL(pm_power_off); | 82 | EXPORT_SYMBOL_GPL(pm_power_off); |
83 | 83 | ||
84 | void (*pm_restart)(const char *cmd); | 84 | void (*arm_pm_restart)(char str, const char *cmd); |
85 | EXPORT_SYMBOL_GPL(pm_restart); | 85 | EXPORT_SYMBOL_GPL(arm_pm_restart); |
86 | 86 | ||
87 | 87 | ||
88 | /* | 88 | /* |
@@ -164,8 +164,8 @@ void machine_restart(char *cmd) | |||
164 | local_fiq_disable(); | 164 | local_fiq_disable(); |
165 | 165 | ||
166 | /* Now call the architecture specific reboot code. */ | 166 | /* Now call the architecture specific reboot code. */ |
167 | if (pm_restart) | 167 | if (arm_pm_restart) |
168 | pm_restart(cmd); | 168 | arm_pm_restart('h', cmd); |
169 | 169 | ||
170 | /* | 170 | /* |
171 | * Whoops - the architecture was unable to reboot. | 171 | * Whoops - the architecture was unable to reboot. |