ARM: s3c64xx: don't select ARM_AMBA from S3C64XX_PL080

Message ID 20170524155845.1778223-1-arnd@arndb.de
State New
Headers show

Commit Message

Arnd Bergmann May 24, 2017, 3:58 p.m.
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(-)

-- 
2.9.0

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Krzysztof Kozlowski May 31, 2017, 7:37 p.m. | #1
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

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Russell King - ARM Linux May 31, 2017, 7:58 p.m. | #2
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.
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Arnd Bergmann May 31, 2017, 8:25 p.m. | #3
On Wed, May 31, 2017 at 9:58 PM, Russell King - ARM Linux
<linux@armlinux.org.uk> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Mathieu Poirier June 1, 2017, 2:47 p.m. | #4
On 31 May 2017 at 14:25, Arnd Bergmann <arnd@arndb.de> wrote:
> On Wed, May 31, 2017 at 9:58 PM, Russell King - ARM Linux

> <linux@armlinux.org.uk> 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?


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

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch hide | download patch | download mbox

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