ARM: mvebu: select ARM_CPU_SUSPEND for Marvell EBU v7 platforms
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 11 Jun 2014 12:06:37 +0000 (14:06 +0200)
committerJason Cooper <jason@lakedaemon.net>
Fri, 20 Jun 2014 20:38:14 +0000 (20:38 +0000)
commit52fcc56753de91ae337aeaa0a664f72d93f19827
treec26fcf7398eeb2f3fca34a9fb8825e2b12f30057
parented2d859119f9cb04410d94b5fbd2bb12907c8932
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>
arch/arm/mach-mvebu/Kconfig