ARM: pm: let platforms select cpu_suspend support
authorArnd Bergmann <arnd@arndb.de>
Sat, 1 Oct 2011 19:09:39 +0000 (21:09 +0200)
committerArnd Bergmann <arnd@arndb.de>
Sat, 1 Oct 2011 19:09:39 +0000 (21:09 +0200)
Support for the cpu_suspend functions is only built-in
when CONFIG_PM_SLEEP is enabled, but omap3/4, exynos4
and pxa always call cpu_suspend when CONFIG_PM is enabled.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
arch/arm/Kconfig
arch/arm/kernel/Makefile
arch/arm/mach-exynos4/Kconfig
arch/arm/mach-omap2/Kconfig
arch/arm/mm/proc-v7.S

index 497af51e9176030978a134a5bdd7ee95c38638a4..3445f50b0b7dac127ca068069972d58866a6d8b7 100644 (file)
@@ -631,6 +631,7 @@ config ARCH_PXA
        select SPARSE_IRQ
        select AUTO_ZRELADDR
        select MULTI_IRQ_HANDLER
+       select ARM_CPU_SUSPEND if PM
        help
          Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
 
@@ -2077,6 +2078,9 @@ config ARCH_SUSPEND_POSSIBLE
                CPU_V6 || CPU_V6K || CPU_V7 || CPU_XSC3 || CPU_XSCALE
        def_bool y
 
+config ARM_CPU_SUSPEND
+       def_bool PM_SLEEP
+
 endmenu
 
 source "net/Kconfig"
index f7887dc53c1f6ac8dbda79c63bfd331d51f67a4c..4ce3303a41949ea53147f29e3a98eb4b247c059c 100644 (file)
@@ -29,7 +29,7 @@ obj-$(CONFIG_MODULES)         += armksyms.o module.o
 obj-$(CONFIG_ARTHUR)           += arthur.o
 obj-$(CONFIG_ISA_DMA)          += dma-isa.o
 obj-$(CONFIG_PCI)              += bios32.o isa.o
-obj-$(CONFIG_PM_SLEEP)         += sleep.o
+obj-$(CONFIG_ARM_CPU_SUSPEND)  += sleep.o
 obj-$(CONFIG_HAVE_SCHED_CLOCK) += sched_clock.o
 obj-$(CONFIG_SMP)              += smp.o smp_tlb.o
 obj-$(CONFIG_HAVE_ARM_SCU)     += smp_scu.o
index 0c77ab99fa16a754794ece0407b4dae95ee114da..fc1f92dfbea85b4facff2f89655087ebb64a8faa 100644 (file)
@@ -12,6 +12,7 @@ if ARCH_EXYNOS4
 config CPU_EXYNOS4210
        bool
        select S3C_PL330_DMA
+       select ARM_CPU_SUSPEND if PM
        help
          Enable EXYNOS4210 CPU support
 
index 57b66d590c522994f923bb01329453d9d14a7330..89bfb49389f2bae2a9ada1c6d418d15b0836dae6 100644 (file)
@@ -36,6 +36,7 @@ config ARCH_OMAP3
        select ARM_L1_CACHE_SHIFT_6 if !ARCH_OMAP4
        select ARCH_HAS_OPP
        select PM_OPP if PM
+       select ARM_CPU_SUSPEND if PM
 
 config ARCH_OMAP4
        bool "TI OMAP4"
@@ -50,6 +51,7 @@ config ARCH_OMAP4
        select ARCH_HAS_OPP
        select PM_OPP if PM
        select USB_ARCH_HAS_EHCI
+       select ARM_CPU_SUSPEND if PM
 
 comment "OMAP Core Type"
        depends on ARCH_OMAP2
index a30e78542ccf3201fa07e1dee6534552821dfa97..591accdb56e8c9356ff1b8e09de52b8e2bc26098 100644 (file)
@@ -217,7 +217,7 @@ ENDPROC(cpu_v7_set_pte_ext)
 /* Suspend/resume support: derived from arch/arm/mach-s5pv210/sleep.S */
 .globl cpu_v7_suspend_size
 .equ   cpu_v7_suspend_size, 4 * 9
-#ifdef CONFIG_PM_SLEEP
+#ifdef CONFIG_ARM_CPU_SUSPEND
 ENTRY(cpu_v7_do_suspend)
        stmfd   sp!, {r4 - r11, lr}
        mrc     p15, 0, r4, c13, c0, 0  @ FCSE/PID