diff mbox

ARM: s3c64xx: don't select ARM_AMBA from S3C64XX_PL080

Message ID 20170524155845.1778223-1-arnd@arndb.de (mailing list archive)
State Accepted
Headers show

Commit Message

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

Comments

Krzysztof Kozlowski May 31, 2017, 7:37 p.m. UTC | #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 (Oracle) May 31, 2017, 7:58 p.m. UTC | #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.
Arnd Bergmann May 31, 2017, 8:25 p.m. UTC | #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. UTC | #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
diff mbox

Patch

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