diff options
| author | Arnd Bergmann <arnd@arndb.de> | 2014-10-27 19:10:21 -0400 |
|---|---|---|
| committer | Kukjin Kim <kgene.kim@samsung.com> | 2014-10-27 19:10:21 -0400 |
| commit | 03c1b7609fbb367c7a9ae49bd41e72cad38fe305 (patch) | |
| tree | 84a157fe23abb464d76e50d1e4f9df94f099f268 | |
| parent | b588aaec6d0d846c88bfa2ba95e76147386a4cd6 (diff) | |
ARM: EXYNOS: Fix build with ARM_CPU_SUSPEND=n
"ARM: EXYNOS: Add support for firmware-assisted suspend/resume" patch
added to arch/arm/mach-exynos/firmware.c new references to functions
from arch/arm/mach-exynos/sleep.S causing the new CONFIG_PM_SLEEP=n
build breakages. Then "ARM: EXYNOS: Fix build with PM_SLEEP=n and
ARM_EXYNOS_CPUIDLE=y" patch tried to fix the CONFIG_PM_SLEEP=n issues
by always building sleep.S which caused the CONFIG_ARM_CPU_SUSPEND=n
build breakage. Fix it by building arch/arm/mach-exynos/sleep.o only
for CONFIG_EXYNOS_CPU_SUSPEND=y and adding appropriate IS_ENABLED()
checks to arch/arm/mach-exynos/firmware.c.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
[b.zolnierkie: fixed ->resume check and added patch description]
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
| -rw-r--r-- | arch/arm/mach-exynos/Makefile | 4 | ||||
| -rw-r--r-- | arch/arm/mach-exynos/firmware.c | 6 |
2 files changed, 5 insertions, 5 deletions
diff --git a/arch/arm/mach-exynos/Makefile b/arch/arm/mach-exynos/Makefile index 3d680f2a5520..775ee35cb277 100644 --- a/arch/arm/mach-exynos/Makefile +++ b/arch/arm/mach-exynos/Makefile | |||
| @@ -9,9 +9,9 @@ ccflags-$(CONFIG_ARCH_MULTIPLATFORM) += -I$(srctree)/$(src)/include -I$(srctree) | |||
| 9 | 9 | ||
| 10 | # Core | 10 | # Core |
| 11 | 11 | ||
| 12 | obj-$(CONFIG_ARCH_EXYNOS) += exynos.o pmu.o exynos-smc.o firmware.o sleep.o | 12 | obj-$(CONFIG_ARCH_EXYNOS) += exynos.o pmu.o exynos-smc.o firmware.o |
| 13 | 13 | ||
| 14 | obj-$(CONFIG_EXYNOS_CPU_SUSPEND) += pm.o | 14 | obj-$(CONFIG_EXYNOS_CPU_SUSPEND) += pm.o sleep.o |
| 15 | obj-$(CONFIG_PM_SLEEP) += suspend.o | 15 | obj-$(CONFIG_PM_SLEEP) += suspend.o |
| 16 | obj-$(CONFIG_PM_GENERIC_DOMAINS) += pm_domains.o | 16 | obj-$(CONFIG_PM_GENERIC_DOMAINS) += pm_domains.o |
| 17 | 17 | ||
diff --git a/arch/arm/mach-exynos/firmware.c b/arch/arm/mach-exynos/firmware.c index 2c5bc6bfcbdf..766f57d2f029 100644 --- a/arch/arm/mach-exynos/firmware.c +++ b/arch/arm/mach-exynos/firmware.c | |||
| @@ -129,11 +129,11 @@ static int exynos_resume(void) | |||
| 129 | } | 129 | } |
| 130 | 130 | ||
| 131 | static const struct firmware_ops exynos_firmware_ops = { | 131 | static const struct firmware_ops exynos_firmware_ops = { |
| 132 | .do_idle = exynos_do_idle, | 132 | .do_idle = IS_ENABLED(CONFIG_EXYNOS_CPU_SUSPEND) ? exynos_do_idle : NULL, |
| 133 | .set_cpu_boot_addr = exynos_set_cpu_boot_addr, | 133 | .set_cpu_boot_addr = exynos_set_cpu_boot_addr, |
| 134 | .cpu_boot = exynos_cpu_boot, | 134 | .cpu_boot = exynos_cpu_boot, |
| 135 | .suspend = exynos_suspend, | 135 | .suspend = IS_ENABLED(CONFIG_PM_SLEEP) ? exynos_suspend : NULL, |
| 136 | .resume = exynos_resume, | 136 | .resume = IS_ENABLED(CONFIG_EXYNOS_CPU_SUSPEND) ? exynos_resume : NULL, |
| 137 | }; | 137 | }; |
| 138 | 138 | ||
| 139 | void __init exynos_firmware_init(void) | 139 | void __init exynos_firmware_init(void) |
