Message ID | 20170524155845.1778223-1-arnd@arndb.de (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
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
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.
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
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 --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
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(-)