[PATCH] ARM: s3c64xx: don't select ARM_AMBA from S3C64XX_PL080

Subsystems: arm port, the rest

STALE3391d

5 messages, 4 authors, 2017-06-01 · open the first message on its own page

[PATCH] ARM: s3c64xx: don't select ARM_AMBA from S3C64XX_PL080

From: Arnd Bergmann <arnd@arndb.de>
Date: 2017-05-24 15:59:33

While trying a fix a build warning unrelated to s3c64xx, I ran into
a circular dependency:

drivers/i2c/Kconfig:7: symbol I2C is selected by FB_DDC
drivers/video/fbdev/Kconfig:63: symbol FB_DDC is selected by FB_CYBER2000_DDC
drivers/video/fbdev/Kconfig:381: symbol FB_CYBER2000_DDC depends on FB_CYBER2000
drivers/video/fbdev/Kconfig:369: symbol FB_CYBER2000 depends on FB
drivers/video/fbdev/Kconfig:5: symbol FB is selected by DRM_KMS_FB_HELPER
drivers/gpu/drm/Kconfig:72: symbol DRM_KMS_FB_HELPER is selected by DRM_KMS_CMA_HELPER
drivers/gpu/drm/Kconfig:137: symbol DRM_KMS_CMA_HELPER is selected by DRM_PL111
drivers/gpu/drm/pl111/Kconfig:1: symbol DRM_PL111 depends on ARM_AMBA
drivers/amba/Kconfig:1: symbol ARM_AMBA is selected by S3C64XX_PL080
arch/arm/mach-s3c64xx/Kconfig:42: symbol S3C64XX_PL080 default value contains DMADEVICES
drivers/dma/Kconfig:5: symbol DMADEVICES is selected by SND_SOC_SH4_SIU
sound/soc/sh/Kconfig:29: symbol SND_SOC_SH4_SIU is selected by SND_SIU_MIGOR
sound/soc/sh/Kconfig:59: symbol SND_SIU_MIGOR depends on I2C

The I2C and FB dependencies are hard to untangle, but I notice that
S3C64XX_PL080 selecting ARM_AMBA is one piece of the puzzle that
can easily be avoided, as ARCH_S3C64XX already select ARM_AMBA.
Removing the redundant 'select' now can help us in the future if we
run into a variation of the same dependency.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
Please apply this to the samsung tree
---
 arch/arm/mach-s3c64xx/Kconfig | 1 -
 1 file changed, 1 deletion(-)
diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig
index 459214fa20b4..5ee5ad74a3d6 100644
--- a/arch/arm/mach-s3c64xx/Kconfig
+++ b/arch/arm/mach-s3c64xx/Kconfig
@@ -40,7 +40,6 @@ config CPU_S3C6410
 
 config S3C64XX_PL080
 	def_bool DMADEVICES
-	select ARM_AMBA
 	select AMBA_PL08X
 
 config S3C64XX_SETUP_SDHCI
-- 
2.9.0

Re: [PATCH] ARM: s3c64xx: don't select ARM_AMBA from S3C64XX_PL080

From: Krzysztof Kozlowski <krzk@kernel.org>
Date: 2017-05-31 19:37:54

On Wed, May 24, 2017 at 05:58:34PM +0200, Arnd Bergmann wrote:
While trying a fix a build warning unrelated to s3c64xx, I ran into
a circular dependency:

drivers/i2c/Kconfig:7: symbol I2C is selected by FB_DDC
drivers/video/fbdev/Kconfig:63: symbol FB_DDC is selected by FB_CYBER2000_DDC
drivers/video/fbdev/Kconfig:381: symbol FB_CYBER2000_DDC depends on FB_CYBER2000
drivers/video/fbdev/Kconfig:369: symbol FB_CYBER2000 depends on FB
drivers/video/fbdev/Kconfig:5: symbol FB is selected by DRM_KMS_FB_HELPER
drivers/gpu/drm/Kconfig:72: symbol DRM_KMS_FB_HELPER is selected by DRM_KMS_CMA_HELPER
drivers/gpu/drm/Kconfig:137: symbol DRM_KMS_CMA_HELPER is selected by DRM_PL111
drivers/gpu/drm/pl111/Kconfig:1: symbol DRM_PL111 depends on ARM_AMBA
drivers/amba/Kconfig:1: symbol ARM_AMBA is selected by S3C64XX_PL080
arch/arm/mach-s3c64xx/Kconfig:42: symbol S3C64XX_PL080 default value contains DMADEVICES
drivers/dma/Kconfig:5: symbol DMADEVICES is selected by SND_SOC_SH4_SIU
sound/soc/sh/Kconfig:29: symbol SND_SOC_SH4_SIU is selected by SND_SIU_MIGOR
sound/soc/sh/Kconfig:59: symbol SND_SIU_MIGOR depends on I2C

The I2C and FB dependencies are hard to untangle, but I notice that
S3C64XX_PL080 selecting ARM_AMBA is one piece of the puzzle that
can easily be avoided, as ARCH_S3C64XX already select ARM_AMBA.
Removing the redundant 'select' now can help us in the future if we
run into a variation of the same dependency.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
Please apply this to the samsung tree
---
 arch/arm/mach-s3c64xx/Kconfig | 1 -
 1 file changed, 1 deletion(-)
Thanks, applied.

Best regards,
Krzysztof

Re: [PATCH] ARM: s3c64xx: don't select ARM_AMBA from S3C64XX_PL080

From: Russell King - ARM Linux <linux@armlinux.org.uk>
Date: 2017-05-31 19:59:04

On Wed, May 24, 2017 at 05:58:34PM +0200, Arnd Bergmann wrote:
While trying a fix a build warning unrelated to s3c64xx, I ran into
a circular dependency:

drivers/i2c/Kconfig:7: symbol I2C is selected by FB_DDC
drivers/video/fbdev/Kconfig:63: symbol FB_DDC is selected by FB_CYBER2000_DDC
drivers/video/fbdev/Kconfig:381: symbol FB_CYBER2000_DDC depends on FB_CYBER2000
drivers/video/fbdev/Kconfig:369: symbol FB_CYBER2000 depends on FB
drivers/video/fbdev/Kconfig:5: symbol FB is selected by DRM_KMS_FB_HELPER
drivers/gpu/drm/Kconfig:72: symbol DRM_KMS_FB_HELPER is selected by DRM_KMS_CMA_HELPER
drivers/gpu/drm/Kconfig:137: symbol DRM_KMS_CMA_HELPER is selected by DRM_PL111
drivers/gpu/drm/pl111/Kconfig:1: symbol DRM_PL111 depends on ARM_AMBA
drivers/amba/Kconfig:1: symbol ARM_AMBA is selected by S3C64XX_PL080
arch/arm/mach-s3c64xx/Kconfig:42: symbol S3C64XX_PL080 default value contains DMADEVICES
drivers/dma/Kconfig:5: symbol DMADEVICES is selected by SND_SOC_SH4_SIU
sound/soc/sh/Kconfig:29: symbol SND_SOC_SH4_SIU is selected by SND_SIU_MIGOR
sound/soc/sh/Kconfig:59: symbol SND_SIU_MIGOR depends on I2C

The I2C and FB dependencies are hard to untangle, but I notice that
S3C64XX_PL080 selecting ARM_AMBA is one piece of the puzzle that
can easily be avoided, as ARCH_S3C64XX already select ARM_AMBA.
Removing the redundant 'select' now can help us in the future if we
run into a variation of the same dependency.
Yes, selecting ARM_AMBA from drivers is definitely not right; this
symbol should be selected only by platforms that want AMBA primecell
bus support, not by drivers, precisely because of these dependency
issues.

There's another case where ARM_AMBA is selected that probably needs
fixing - the coresight hwtracing code.

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.

Re: [PATCH] ARM: s3c64xx: don't select ARM_AMBA from S3C64XX_PL080

From: Arnd Bergmann <arnd@arndb.de>
Date: 2017-05-31 20:25:05

On Wed, May 31, 2017 at 9:58 PM, Russell King - ARM Linux
[off-list ref] wrote:
On Wed, May 24, 2017 at 05:58:34PM +0200, Arnd Bergmann wrote:
Yes, selecting ARM_AMBA from drivers is definitely not right; this
symbol should be selected only by platforms that want AMBA primecell
bus support, not by drivers, precisely because of these dependency
issues.

There's another case where ARM_AMBA is selected that probably needs
fixing - the coresight hwtracing code.
[Adding Mathieu to cc]

Mathieu,

do you remember how we ended up with this?

menuconfig CORESIGHT
       bool "CoreSight Tracing Support"
       select ARM_AMBA

As Russell says, probably shouldn't select that symbol, most likely
we want either the individual drivers that register an amba_driver to have
a 'depends on ARM_AMBA' or alternatively replace the 'select' with 'depends
on' for the entire subsystem.

        Arnd

Re: [PATCH] ARM: s3c64xx: don't select ARM_AMBA from S3C64XX_PL080

From: Mathieu Poirier <mathieu.poirier@linaro.org>
Date: 2017-06-01 14:47:05

On 31 May 2017 at 14:25, Arnd Bergmann [off-list ref] wrote:
On Wed, May 31, 2017 at 9:58 PM, Russell King - ARM Linux
[off-list ref] wrote:
quoted
On Wed, May 24, 2017 at 05:58:34PM +0200, Arnd Bergmann wrote:
Yes, selecting ARM_AMBA from drivers is definitely not right; this
symbol should be selected only by platforms that want AMBA primecell
bus support, not by drivers, precisely because of these dependency
issues.

There's another case where ARM_AMBA is selected that probably needs
fixing - the coresight hwtracing code.
[Adding Mathieu to cc]

Mathieu,

do you remember how we ended up with this?
That was part of the initial driver submission that happened a couple
of years ago.  The driver depended on AMBA and as such I added the
"select", not knowing it was preferable to have a "depends".
menuconfig CORESIGHT
       bool "CoreSight Tracing Support"
       select ARM_AMBA

As Russell says, probably shouldn't select that symbol, most likely
we want either the individual drivers that register an amba_driver to have
a 'depends on ARM_AMBA' or alternatively replace the 'select' with 'depends
on' for the entire subsystem.
I'm good with that.

Mathieu
        Arnd
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help