Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1728230 > unrolled thread

[PATCH] soc: bcm: brcmstb: fix ARM build errors

Started byArnd Bergmann <arnd@arndb.de>
First post2017-09-07 16:00 +0200
Last post2017-09-07 17:40 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] soc: bcm: brcmstb: fix ARM build errors Arnd Bergmann <arnd@arndb.de> - 2017-09-07 16:00 +0200
    Re: [PATCH] soc: bcm: brcmstb: fix ARM build errors Arnd Bergmann <arnd@arndb.de> - 2017-09-07 16:30 +0200
      Re: [PATCH] soc: bcm: brcmstb: fix ARM build errors Florian Fainelli <f.fainelli@gmail.com> - 2017-09-07 17:40 +0200

#1728230 — [PATCH] soc: bcm: brcmstb: fix ARM build errors

FromArnd Bergmann <arnd@arndb.de>
Date2017-09-07 16:00 +0200
Subject[PATCH] soc: bcm: brcmstb: fix ARM build errors
Message-ID<un5vA-A2-19@gated-at.bofh.it>
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@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/soc/bcm/brcmstb/Kconfig | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/soc/bcm/brcmstb/Kconfig b/drivers/soc/bcm/brcmstb/Kconfig
index d05bfce82e71..d36f6e03c1a6 100644
--- a/drivers/soc/bcm/brcmstb/Kconfig
+++ b/drivers/soc/bcm/brcmstb/Kconfig
@@ -4,6 +4,7 @@ config BRCMSTB_PM
 	bool "Support suspend/resume for STB platforms"
 	default y
 	depends on PM
-	depends on ARM || BMIPS_GENERIC
+	depends on ARCH_BRCMSTB || BMIPS_GENERIC
+	select ARM_CPU_SUSPEND if ARM
 
 endif # SOC_BRCMSTB
-- 
2.9.0

[toc] | [next] | [standalone]


#1728240

FromArnd Bergmann <arnd@arndb.de>
Date2017-09-07 16:30 +0200
Message-ID<un5YB-12W-7@gated-at.bofh.it>
In reply to#1728230
On Thu, Sep 7, 2017 at 3:50 PM, Arnd Bergmann <arnd@arndb.de> 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@gmail.com>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

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

[toc] | [prev] | [next] | [standalone]


#1728275

FromFlorian Fainelli <f.fainelli@gmail.com>
Date2017-09-07 17:40 +0200
Message-ID<un74m-1Wq-19@gated-at.bofh.it>
In reply to#1728240
On 09/07/2017 07:24 AM, Arnd Bergmann wrote:
> On Thu, Sep 7, 2017 at 3:50 PM, Arnd Bergmann <arnd@arndb.de> 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@gmail.com>
>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> 
> 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.

Ah yes, that was correct in the original pull request, but I messed up
the conflict resolution once dpfe.c was moved out of this directory into
drivers/memory/ sorry about that. Do you want to fold these two patches
into 6274ca43eba1b2ebcac96f3c9b41fbc4945c0af0?
-- 
Florian

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web