diff options
author | Arnd Bergmann <arnd@arndb.de> | 2017-08-23 10:46:15 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2017-08-23 11:31:39 -0400 |
commit | dbeb0c8e84805b78f3979b53a4a12751403e4520 (patch) | |
tree | 9646501c63646a84ecd5b64529a702a82b6d15fe | |
parent | 324c654dfc28f899d150873ffb99549c0dcafe47 (diff) |
ARM: at91: don't select CONFIG_ARM_CPU_SUSPEND for old platforms
My previous patch fixed a link error for all at91 platforms when
CONFIG_ARM_CPU_SUSPEND was not set, however this caused another
problem on a configuration that enabled CONFIG_ARCH_AT91 but none
of the individual SoCs, and that also enabled CPU_ARM720 as
the only CPU:
warning: (ARCH_AT91 && SOC_IMX23 && SOC_IMX28 && ARCH_PXA && MACH_MVEBU_V7 && SOC_IMX6 && ARCH_OMAP3 && ARCH_OMAP4 && SOC_OMAP5 && SOC_AM33XX && SOC_DRA7XX && ARCH_EXYNOS3 && ARCH_EXYNOS4 && EXYNOS5420_MCPM && EXYNOS_CPU_SUSPEND && ARCH_VEXPRESS_TC2_PM && ARM_BIG_LITTLE_CPUIDLE && ARM_HIGHBANK_CPUIDLE && QCOM_PM) selects ARM_CPU_SUSPEND which has unmet direct dependencies (ARCH_SUSPEND_POSSIBLE)
arch/arm/kernel/sleep.o: In function `cpu_resume':
(.text+0xf0): undefined reference to `cpu_arm720_suspend_size'
arch/arm/kernel/suspend.o: In function `__cpu_suspend_save':
suspend.c:(.text+0x134): undefined reference to `cpu_arm720_do_suspend'
This improves the hack some more by only selecting ARM_CPU_SUSPEND
for the part that requires it, and changing pm.c to drop the
contents of unused init functions so we no longer refer to
cpu_resume on at91 platforms that don't need it.
Fixes: cc7a938f5f30 ("ARM: at91: select CONFIG_ARM_CPU_SUSPEND")
Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
-rw-r--r-- | arch/arm/mach-at91/Kconfig | 2 | ||||
-rw-r--r-- | arch/arm/mach-at91/pm.c | 12 |
2 files changed, 13 insertions, 1 deletions
diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig index d735e5fc4772..195da38cb9a2 100644 --- a/arch/arm/mach-at91/Kconfig +++ b/arch/arm/mach-at91/Kconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | menuconfig ARCH_AT91 | 1 | menuconfig ARCH_AT91 |
2 | bool "Atmel SoCs" | 2 | bool "Atmel SoCs" |
3 | depends on ARCH_MULTI_V4T || ARCH_MULTI_V5 || ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M | 3 | depends on ARCH_MULTI_V4T || ARCH_MULTI_V5 || ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M |
4 | select ARM_CPU_SUSPEND if PM | 4 | select ARM_CPU_SUSPEND if PM && ARCH_MULTI_V7 |
5 | select COMMON_CLK_AT91 | 5 | select COMMON_CLK_AT91 |
6 | select GPIOLIB | 6 | select GPIOLIB |
7 | select PINCTRL | 7 | select PINCTRL |
diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c index 667fddac3856..5036f996e694 100644 --- a/arch/arm/mach-at91/pm.c +++ b/arch/arm/mach-at91/pm.c | |||
@@ -608,6 +608,9 @@ static void __init at91_pm_init(void (*pm_idle)(void)) | |||
608 | 608 | ||
609 | void __init at91rm9200_pm_init(void) | 609 | void __init at91rm9200_pm_init(void) |
610 | { | 610 | { |
611 | if (!IS_ENABLED(CONFIG_SOC_AT91RM9200)) | ||
612 | return; | ||
613 | |||
611 | at91_dt_ramc(); | 614 | at91_dt_ramc(); |
612 | 615 | ||
613 | /* | 616 | /* |
@@ -620,18 +623,27 @@ void __init at91rm9200_pm_init(void) | |||
620 | 623 | ||
621 | void __init at91sam9_pm_init(void) | 624 | void __init at91sam9_pm_init(void) |
622 | { | 625 | { |
626 | if (!IS_ENABLED(CONFIG_SOC_AT91SAM9)) | ||
627 | return; | ||
628 | |||
623 | at91_dt_ramc(); | 629 | at91_dt_ramc(); |
624 | at91_pm_init(at91sam9_idle); | 630 | at91_pm_init(at91sam9_idle); |
625 | } | 631 | } |
626 | 632 | ||
627 | void __init sama5_pm_init(void) | 633 | void __init sama5_pm_init(void) |
628 | { | 634 | { |
635 | if (!IS_ENABLED(CONFIG_SOC_SAMA5)) | ||
636 | return; | ||
637 | |||
629 | at91_dt_ramc(); | 638 | at91_dt_ramc(); |
630 | at91_pm_init(NULL); | 639 | at91_pm_init(NULL); |
631 | } | 640 | } |
632 | 641 | ||
633 | void __init sama5d2_pm_init(void) | 642 | void __init sama5d2_pm_init(void) |
634 | { | 643 | { |
644 | if (!IS_ENABLED(CONFIG_SOC_SAMA5D2)) | ||
645 | return; | ||
646 | |||
635 | at91_pm_backup_init(); | 647 | at91_pm_backup_init(); |
636 | sama5_pm_init(); | 648 | sama5_pm_init(); |
637 | } | 649 | } |