Re: [PATCH] soc: bcm: brcmstb: fix ARM build errors
From: Arnd Bergmann
Date: Thu Sep 07 2017 - 10:24:23 EST
On Thu, Sep 7, 2017 at 3:50 PM, Arnd Bergmann <arnd@xxxxxxxx> wrote:
> When building the new PM driver on older ARM architectures, we can
> run into one of two build errors:
>
> drivers/soc/bcm/brcmstb/pm/pm-arm.c: In function 'brcmstb_do_pmsm_power_down':
> drivers/soc/bcm/brcmstb/pm/pm-arm.c:334:2: error: implicit declaration of function 'wfi' [-Werror=implicit-function-declaration]
>
> drivers/soc/bcm/brcmstb/pm/pm-arm.o: In function `brcmstb_pm_s3_finish':
> pm-arm.c:(.text+0x860): undefined reference to `cpu_resume'
>
> The first one requires at least ARMv6K, the second one requires the CPU
> suspend/resume logic which is not available on some of the older CPUs,
> and needs to be selected explicitly.
>
> This adds the extra Kconfig statements to enforce this, limiting
> compilation on ARM to the STB platform that is guaranteed to be
> ARMv7. We could enable compile-testing for other ARMv7 platforms,
> but there seems to be little value as an allmodconfig kernel
> already includes it.
>
> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
It seems we always compile the pm/ subdirectory regardless of CONFIG_BRCMSTB_PM,
so we also needs this change:
--- a/drivers/soc/bcm/brcmstb/Makefile
+++ b/drivers/soc/bcm/brcmstb/Makefile
@@ -1,2 +1,2 @@
obj-y += common.o biuctrl.o
-obj-y += pm/
+obj-$(CONFIG_BRCMSTB_PM) += pm/
I'll resubmit the combined patch after some more testing.
Arnd