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 /arch/arm64 | |
| 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>
Diffstat (limited to 'arch/arm64')
| -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. |
