diff options
author | Arnd Bergmann <arnd@arndb.de> | 2011-10-01 15:09:39 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2011-10-01 15:09:39 -0400 |
commit | 15e0d9e37c7fe9711b60f47221c394d45553ad8c (patch) | |
tree | fd46b3ef48612d8c39a80627ee5c8fa9c422e15e /arch | |
parent | 82b9c18dc0ee38b5c78c5d09b9cffc79d98613c5 (diff) |
ARM: pm: let platforms select cpu_suspend support
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>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/Kconfig | 4 | ||||
-rw-r--r-- | arch/arm/kernel/Makefile | 2 | ||||
-rw-r--r-- | arch/arm/mach-exynos4/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/Kconfig | 2 | ||||
-rw-r--r-- | arch/arm/mm/proc-v7.S | 2 |
5 files changed, 9 insertions, 2 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 497af51e9176..3445f50b0b7d 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -631,6 +631,7 @@ config ARCH_PXA | |||
631 | select SPARSE_IRQ | 631 | select SPARSE_IRQ |
632 | select AUTO_ZRELADDR | 632 | select AUTO_ZRELADDR |
633 | select MULTI_IRQ_HANDLER | 633 | select MULTI_IRQ_HANDLER |
634 | select ARM_CPU_SUSPEND if PM | ||
634 | help | 635 | help |
635 | Support for Intel/Marvell's PXA2xx/PXA3xx processor line. | 636 | Support for Intel/Marvell's PXA2xx/PXA3xx processor line. |
636 | 637 | ||
@@ -2077,6 +2078,9 @@ config ARCH_SUSPEND_POSSIBLE | |||
2077 | CPU_V6 || CPU_V6K || CPU_V7 || CPU_XSC3 || CPU_XSCALE | 2078 | CPU_V6 || CPU_V6K || CPU_V7 || CPU_XSC3 || CPU_XSCALE |
2078 | def_bool y | 2079 | def_bool y |
2079 | 2080 | ||
2081 | config ARM_CPU_SUSPEND | ||
2082 | def_bool PM_SLEEP | ||
2083 | |||
2080 | endmenu | 2084 | endmenu |
2081 | 2085 | ||
2082 | source "net/Kconfig" | 2086 | source "net/Kconfig" |
diff --git a/arch/arm/kernel/Makefile b/arch/arm/kernel/Makefile index f7887dc53c1f..4ce3303a4194 100644 --- a/arch/arm/kernel/Makefile +++ b/arch/arm/kernel/Makefile | |||
@@ -29,7 +29,7 @@ obj-$(CONFIG_MODULES) += armksyms.o module.o | |||
29 | obj-$(CONFIG_ARTHUR) += arthur.o | 29 | obj-$(CONFIG_ARTHUR) += arthur.o |
30 | obj-$(CONFIG_ISA_DMA) += dma-isa.o | 30 | obj-$(CONFIG_ISA_DMA) += dma-isa.o |
31 | obj-$(CONFIG_PCI) += bios32.o isa.o | 31 | obj-$(CONFIG_PCI) += bios32.o isa.o |
32 | obj-$(CONFIG_PM_SLEEP) += sleep.o | 32 | obj-$(CONFIG_ARM_CPU_SUSPEND) += sleep.o |
33 | obj-$(CONFIG_HAVE_SCHED_CLOCK) += sched_clock.o | 33 | obj-$(CONFIG_HAVE_SCHED_CLOCK) += sched_clock.o |
34 | obj-$(CONFIG_SMP) += smp.o smp_tlb.o | 34 | obj-$(CONFIG_SMP) += smp.o smp_tlb.o |
35 | obj-$(CONFIG_HAVE_ARM_SCU) += smp_scu.o | 35 | obj-$(CONFIG_HAVE_ARM_SCU) += smp_scu.o |
diff --git a/arch/arm/mach-exynos4/Kconfig b/arch/arm/mach-exynos4/Kconfig index 0c77ab99fa16..fc1f92dfbea8 100644 --- a/arch/arm/mach-exynos4/Kconfig +++ b/arch/arm/mach-exynos4/Kconfig | |||
@@ -12,6 +12,7 @@ if ARCH_EXYNOS4 | |||
12 | config CPU_EXYNOS4210 | 12 | config CPU_EXYNOS4210 |
13 | bool | 13 | bool |
14 | select S3C_PL330_DMA | 14 | select S3C_PL330_DMA |
15 | select ARM_CPU_SUSPEND if PM | ||
15 | help | 16 | help |
16 | Enable EXYNOS4210 CPU support | 17 | Enable EXYNOS4210 CPU support |
17 | 18 | ||
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig index 57b66d590c52..89bfb49389f2 100644 --- a/arch/arm/mach-omap2/Kconfig +++ b/arch/arm/mach-omap2/Kconfig | |||
@@ -36,6 +36,7 @@ config ARCH_OMAP3 | |||
36 | select ARM_L1_CACHE_SHIFT_6 if !ARCH_OMAP4 | 36 | select ARM_L1_CACHE_SHIFT_6 if !ARCH_OMAP4 |
37 | select ARCH_HAS_OPP | 37 | select ARCH_HAS_OPP |
38 | select PM_OPP if PM | 38 | select PM_OPP if PM |
39 | select ARM_CPU_SUSPEND if PM | ||
39 | 40 | ||
40 | config ARCH_OMAP4 | 41 | config ARCH_OMAP4 |
41 | bool "TI OMAP4" | 42 | bool "TI OMAP4" |
@@ -50,6 +51,7 @@ config ARCH_OMAP4 | |||
50 | select ARCH_HAS_OPP | 51 | select ARCH_HAS_OPP |
51 | select PM_OPP if PM | 52 | select PM_OPP if PM |
52 | select USB_ARCH_HAS_EHCI | 53 | select USB_ARCH_HAS_EHCI |
54 | select ARM_CPU_SUSPEND if PM | ||
53 | 55 | ||
54 | comment "OMAP Core Type" | 56 | comment "OMAP Core Type" |
55 | depends on ARCH_OMAP2 | 57 | depends on ARCH_OMAP2 |
diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S index a30e78542ccf..591accdb56e8 100644 --- a/arch/arm/mm/proc-v7.S +++ b/arch/arm/mm/proc-v7.S | |||
@@ -217,7 +217,7 @@ ENDPROC(cpu_v7_set_pte_ext) | |||
217 | /* Suspend/resume support: derived from arch/arm/mach-s5pv210/sleep.S */ | 217 | /* Suspend/resume support: derived from arch/arm/mach-s5pv210/sleep.S */ |
218 | .globl cpu_v7_suspend_size | 218 | .globl cpu_v7_suspend_size |
219 | .equ cpu_v7_suspend_size, 4 * 9 | 219 | .equ cpu_v7_suspend_size, 4 * 9 |
220 | #ifdef CONFIG_PM_SLEEP | 220 | #ifdef CONFIG_ARM_CPU_SUSPEND |
221 | ENTRY(cpu_v7_do_suspend) | 221 | ENTRY(cpu_v7_do_suspend) |
222 | stmfd sp!, {r4 - r11, lr} | 222 | stmfd sp!, {r4 - r11, lr} |
223 | mrc p15, 0, r4, c13, c0, 0 @ FCSE/PID | 223 | mrc p15, 0, r4, c13, c0, 0 @ FCSE/PID |