diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2014-06-11 08:06:37 -0400 |
---|---|---|
committer | Jason Cooper <jason@lakedaemon.net> | 2014-06-20 16:38:14 -0400 |
commit | 52fcc56753de91ae337aeaa0a664f72d93f19827 (patch) | |
tree | c26fcf7398eeb2f3fca34a9fb8825e2b12f30057 | |
parent | ed2d859119f9cb04410d94b5fbd2bb12907c8932 (diff) |
ARM: mvebu: select ARM_CPU_SUSPEND for Marvell EBU v7 platforms
On Marvell Armada platforms, the PMSU (Power Management Service Unit)
controls a number of power management related activities, needed for
things like suspend/resume, CPU hotplug, cpuidle or even simply SMP.
Since cpuidle support was added for Armada XP, the pmsu.c file in
arch/arm/mach-mvebu/ calls the cpu_suspend() and cpu_resume() ARM
functions, which are only available when
CONFIG_ARM_CPU_SUSPEND=y. Therefore, configurations that have
CONFIG_ARM_CPU_SUSPEND disabled due to PM_SLEEP being disabled no
longer build properly, due to undefined references to cpu_suspend()
and cpu_resume().
To fix this, this patch simply ensures CONFIG_ARM_CPU_SUSPEND is
always enabled for Marvell EBU v7 platforms. Doing things in a more
fine-grained way would require a lot of #ifdef-ery in pmsu.c to
isolate the parts that use cpu_suspend()/cpu_resume(), and those parts
would anyway have been needed as soon as either one of suspend/resume,
CPU hotplug or cpuidle was enabled.
Reported-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Link: https://lkml.kernel.org/r/1402488397-31381-1-git-send-email-thomas.petazzoni@free-electrons.com
Acked-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
-rw-r--r-- | arch/arm/mach-mvebu/Kconfig | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig index 61ac80a8acac..ea039ed7a3ae 100644 --- a/arch/arm/mach-mvebu/Kconfig +++ b/arch/arm/mach-mvebu/Kconfig | |||
@@ -20,6 +20,7 @@ config MACH_MVEBU_V7 | |||
20 | bool | 20 | bool |
21 | select ARMADA_370_XP_TIMER | 21 | select ARMADA_370_XP_TIMER |
22 | select CACHE_L2X0 | 22 | select CACHE_L2X0 |
23 | select ARM_CPU_SUSPEND | ||
23 | 24 | ||
24 | config MACH_ARMADA_370 | 25 | config MACH_ARMADA_370 |
25 | bool "Marvell Armada 370 boards" if ARCH_MULTI_V7 | 26 | bool "Marvell Armada 370 boards" if ARCH_MULTI_V7 |