[PATCH v2 0/3] Fix Kconfig dependency issue with DMAENGINES selection
Hello,
This small series fixes a Kconfig dependency issue with the recently merged Xilixn DPSUB DRM/KMS driver. The fix is in patch 3/3, but requires a separate fixes in patches 1/3 and 2/3 to avoid circular dependencies:
drivers/i2c/Kconfig:8:error: recursive dependency detected! drivers/i2c/Kconfig:8: symbol I2C is selected by FB_DDC drivers/video/fbdev/Kconfig:63: symbol FB_DDC depends on FB drivers/video/fbdev/Kconfig:12: symbol FB is selected by DRM_KMS_FB_HELPER drivers/gpu/drm/Kconfig:80: symbol DRM_KMS_FB_HELPER depends on DRM_KMS_HELPER drivers/gpu/drm/Kconfig:74: symbol DRM_KMS_HELPER is selected by DRM_ZYNQMP_DPSUB drivers/gpu/drm/xlnx/Kconfig:1: symbol DRM_ZYNQMP_DPSUB depends on DMA_ENGINE drivers/dma/Kconfig:44: symbol DMA_ENGINE depends on DMADEVICES drivers/dma/Kconfig:6: symbol DMADEVICES is selected by SND_SOC_SH4_SIU sound/soc/sh/Kconfig:30: symbol SND_SOC_SH4_SIU is selected by SND_SIU_MIGOR sound/soc/sh/Kconfig:60: symbol SND_SIU_MIGOR depends on I2C For a resolution refer to Documentation/kbuild/kconfig-language.rst subsection "Kconfig recursive dependency limitations"
Due to the DPSUB driver being merged in v5.9, this is a candidate fix for v5.9 as well. 1/3 and 2/3 can be merged independently, 3/3 depends on the first two. What's the best course of action, can I merge this all in a single tree, or should the rapidio and ASoC patches be merged independently early in the -rc cycle, and the DRM patch later on top ? I don't expect conflicts (especially in 2/3 and 3/3), so merging the whole series in one go would be simpler in my opinion.
Compared to v1, commit messages have been fixed to mention DMADEVICES instead of DMAENGINES.
Laurent Pinchart (3): rapidio: Replace 'select' DMADEVICES 'with depends on' ASoC: sh: Replace 'select' DMADEVICES 'with depends on' drm: xlnx: dpsub: Fix DMADEVICES Kconfig dependency
drivers/gpu/drm/xlnx/Kconfig | 1 + drivers/rapidio/Kconfig | 2 +- sound/soc/sh/Kconfig | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-)
Enabling a whole subsystem from a single driver 'select' is frowned upon and won't be accepted in new drivers, that need to use 'depends on' instead. Existing selection of DMADEVICES will then cause circular dependencies. Replace them with a dependency.
Signed-off-by: Laurent Pinchart laurent.pinchart@ideasonboard.com Acked-by: Randy Dunlap rdunlap@infradead.org --- drivers/rapidio/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/rapidio/Kconfig b/drivers/rapidio/Kconfig index e4c422d806be..b9f8514909bf 100644 --- a/drivers/rapidio/Kconfig +++ b/drivers/rapidio/Kconfig @@ -37,7 +37,7 @@ config RAPIDIO_ENABLE_RX_TX_PORTS config RAPIDIO_DMA_ENGINE bool "DMA Engine support for RapidIO" depends on RAPIDIO - select DMADEVICES + depends on DMADEVICES select DMA_ENGINE help Say Y here if you want to use DMA Engine frameork for RapidIO data
Enabling a whole subsystem from a single driver 'select' is frowned upon and won't be accepted in new drivers, that need to use 'depends on' instead. Existing selection of DMADEVICES will then cause circular dependencies. Replace them with a dependency.
Signed-off-by: Laurent Pinchart laurent.pinchart@ideasonboard.com Acked-by: Randy Dunlap rdunlap@infradead.org --- sound/soc/sh/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/sh/Kconfig b/sound/soc/sh/Kconfig index dc20f0f7080a..ef8a29b9f641 100644 --- a/sound/soc/sh/Kconfig +++ b/sound/soc/sh/Kconfig @@ -30,8 +30,8 @@ config SND_SOC_SH4_FSI config SND_SOC_SH4_SIU tristate depends on ARCH_SHMOBILE && HAVE_CLK + depends on DMADEVICES select DMA_ENGINE - select DMADEVICES select SH_DMAE select FW_LOADER
The dpsub driver uses the DMA engine API, and thus selects DMA_ENGINE to provide that API. DMA_ENGINE depends on DMADEVICES, which can be deselected by the user, creating a possibly unmet indirect dependency:
WARNING: unmet direct dependencies detected for DMA_ENGINE Depends on [n]: DMADEVICES [=n] Selected by [m]: - DRM_ZYNQMP_DPSUB [=m] && HAS_IOMEM [=y] && (ARCH_ZYNQMP || COMPILE_TEST [=y]) && COMMON_CLK [=y] && DRM [=m] && OF [=y]
Add a dependency on DMADEVICES to fix this.
Reported-by: Randy Dunlap rdunlap@infradead.org Signed-off-by: Laurent Pinchart laurent.pinchart@ideasonboard.com Acked-by: Randy Dunlap rdunlap@infradead.org --- drivers/gpu/drm/xlnx/Kconfig | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/xlnx/Kconfig b/drivers/gpu/drm/xlnx/Kconfig index aa6cd889bd11..b52c6cdfc0b8 100644 --- a/drivers/gpu/drm/xlnx/Kconfig +++ b/drivers/gpu/drm/xlnx/Kconfig @@ -2,6 +2,7 @@ config DRM_ZYNQMP_DPSUB tristate "ZynqMP DisplayPort Controller Driver" depends on ARCH_ZYNQMP || COMPILE_TEST depends on COMMON_CLK && DRM && OF + depends on DMADEVICES select DMA_ENGINE select DRM_GEM_CMA_HELPER select DRM_KMS_CMA_HELPER
On 31-07-20, 18:24, Laurent Pinchart wrote:
Hello,
This small series fixes a Kconfig dependency issue with the recently merged Xilixn DPSUB DRM/KMS driver. The fix is in patch 3/3, but requires a separate fixes in patches 1/3 and 2/3 to avoid circular dependencies:
drivers/i2c/Kconfig:8:error: recursive dependency detected! drivers/i2c/Kconfig:8: symbol I2C is selected by FB_DDC drivers/video/fbdev/Kconfig:63: symbol FB_DDC depends on FB drivers/video/fbdev/Kconfig:12: symbol FB is selected by DRM_KMS_FB_HELPER drivers/gpu/drm/Kconfig:80: symbol DRM_KMS_FB_HELPER depends on DRM_KMS_HELPER drivers/gpu/drm/Kconfig:74: symbol DRM_KMS_HELPER is selected by DRM_ZYNQMP_DPSUB drivers/gpu/drm/xlnx/Kconfig:1: symbol DRM_ZYNQMP_DPSUB depends on DMA_ENGINE drivers/dma/Kconfig:44: symbol DMA_ENGINE depends on DMADEVICES drivers/dma/Kconfig:6: symbol DMADEVICES is selected by SND_SOC_SH4_SIU sound/soc/sh/Kconfig:30: symbol SND_SOC_SH4_SIU is selected by SND_SIU_MIGOR sound/soc/sh/Kconfig:60: symbol SND_SIU_MIGOR depends on I2C For a resolution refer to Documentation/kbuild/kconfig-language.rst subsection "Kconfig recursive dependency limitations"
Due to the DPSUB driver being merged in v5.9, this is a candidate fix for v5.9 as well. 1/3 and 2/3 can be merged independently, 3/3 depends on the first two. What's the best course of action, can I merge this all in a single tree, or should the rapidio and ASoC patches be merged independently early in the -rc cycle, and the DRM patch later on top ? I don't expect conflicts (especially in 2/3 and 3/3), so merging the whole series in one go would be simpler in my opinion.
Acked-By: Vinod Koul vkoul@kernel.org
Hi Vinod,
On Fri, Jul 31, 2020 at 10:17:44PM +0530, Vinod Koul wrote:
On 31-07-20, 18:24, Laurent Pinchart wrote:
Hello,
This small series fixes a Kconfig dependency issue with the recently merged Xilixn DPSUB DRM/KMS driver. The fix is in patch 3/3, but requires a separate fixes in patches 1/3 and 2/3 to avoid circular dependencies:
drivers/i2c/Kconfig:8:error: recursive dependency detected! drivers/i2c/Kconfig:8: symbol I2C is selected by FB_DDC drivers/video/fbdev/Kconfig:63: symbol FB_DDC depends on FB drivers/video/fbdev/Kconfig:12: symbol FB is selected by DRM_KMS_FB_HELPER drivers/gpu/drm/Kconfig:80: symbol DRM_KMS_FB_HELPER depends on DRM_KMS_HELPER drivers/gpu/drm/Kconfig:74: symbol DRM_KMS_HELPER is selected by DRM_ZYNQMP_DPSUB drivers/gpu/drm/xlnx/Kconfig:1: symbol DRM_ZYNQMP_DPSUB depends on DMA_ENGINE drivers/dma/Kconfig:44: symbol DMA_ENGINE depends on DMADEVICES drivers/dma/Kconfig:6: symbol DMADEVICES is selected by SND_SOC_SH4_SIU sound/soc/sh/Kconfig:30: symbol SND_SOC_SH4_SIU is selected by SND_SIU_MIGOR sound/soc/sh/Kconfig:60: symbol SND_SIU_MIGOR depends on I2C For a resolution refer to Documentation/kbuild/kconfig-language.rst subsection "Kconfig recursive dependency limitations"
Due to the DPSUB driver being merged in v5.9, this is a candidate fix for v5.9 as well. 1/3 and 2/3 can be merged independently, 3/3 depends on the first two. What's the best course of action, can I merge this all in a single tree, or should the rapidio and ASoC patches be merged independently early in the -rc cycle, and the DRM patch later on top ? I don't expect conflicts (especially in 2/3 and 3/3), so merging the whole series in one go would be simpler in my opinion.
Acked-By: Vinod Koul vkoul@kernel.org
Thank you.
As Mark as queued the sound fix in his for-next branch for v5.9, could you queue the dmaengine fix for v5.9 too ?
On 31-07-20, 23:42, Laurent Pinchart wrote:
Hi Vinod,
On Fri, Jul 31, 2020 at 10:17:44PM +0530, Vinod Koul wrote:
On 31-07-20, 18:24, Laurent Pinchart wrote:
Hello,
This small series fixes a Kconfig dependency issue with the recently merged Xilixn DPSUB DRM/KMS driver. The fix is in patch 3/3, but requires a separate fixes in patches 1/3 and 2/3 to avoid circular dependencies:
drivers/i2c/Kconfig:8:error: recursive dependency detected! drivers/i2c/Kconfig:8: symbol I2C is selected by FB_DDC drivers/video/fbdev/Kconfig:63: symbol FB_DDC depends on FB drivers/video/fbdev/Kconfig:12: symbol FB is selected by DRM_KMS_FB_HELPER drivers/gpu/drm/Kconfig:80: symbol DRM_KMS_FB_HELPER depends on DRM_KMS_HELPER drivers/gpu/drm/Kconfig:74: symbol DRM_KMS_HELPER is selected by DRM_ZYNQMP_DPSUB drivers/gpu/drm/xlnx/Kconfig:1: symbol DRM_ZYNQMP_DPSUB depends on DMA_ENGINE drivers/dma/Kconfig:44: symbol DMA_ENGINE depends on DMADEVICES drivers/dma/Kconfig:6: symbol DMADEVICES is selected by SND_SOC_SH4_SIU sound/soc/sh/Kconfig:30: symbol SND_SOC_SH4_SIU is selected by SND_SIU_MIGOR sound/soc/sh/Kconfig:60: symbol SND_SIU_MIGOR depends on I2C For a resolution refer to Documentation/kbuild/kconfig-language.rst subsection "Kconfig recursive dependency limitations"
Due to the DPSUB driver being merged in v5.9, this is a candidate fix for v5.9 as well. 1/3 and 2/3 can be merged independently, 3/3 depends on the first two. What's the best course of action, can I merge this all in a single tree, or should the rapidio and ASoC patches be merged independently early in the -rc cycle, and the DRM patch later on top ? I don't expect conflicts (especially in 2/3 and 3/3), so merging the whole series in one go would be simpler in my opinion.
Acked-By: Vinod Koul vkoul@kernel.org
Thank you.
As Mark as queued the sound fix in his for-next branch for v5.9, could you queue the dmaengine fix for v5.9 too ?
Dmaengine? I see three patches none of which touch dmaengine.. Did I miss something?
Thanks
Hi Vinod,
On Sun, Aug 02, 2020 at 12:14:09PM +0530, Vinod Koul wrote:
On 31-07-20, 23:42, Laurent Pinchart wrote:
On Fri, Jul 31, 2020 at 10:17:44PM +0530, Vinod Koul wrote:
On 31-07-20, 18:24, Laurent Pinchart wrote:
Hello,
This small series fixes a Kconfig dependency issue with the recently merged Xilixn DPSUB DRM/KMS driver. The fix is in patch 3/3, but requires a separate fixes in patches 1/3 and 2/3 to avoid circular dependencies:
drivers/i2c/Kconfig:8:error: recursive dependency detected! drivers/i2c/Kconfig:8: symbol I2C is selected by FB_DDC drivers/video/fbdev/Kconfig:63: symbol FB_DDC depends on FB drivers/video/fbdev/Kconfig:12: symbol FB is selected by DRM_KMS_FB_HELPER drivers/gpu/drm/Kconfig:80: symbol DRM_KMS_FB_HELPER depends on DRM_KMS_HELPER drivers/gpu/drm/Kconfig:74: symbol DRM_KMS_HELPER is selected by DRM_ZYNQMP_DPSUB drivers/gpu/drm/xlnx/Kconfig:1: symbol DRM_ZYNQMP_DPSUB depends on DMA_ENGINE drivers/dma/Kconfig:44: symbol DMA_ENGINE depends on DMADEVICES drivers/dma/Kconfig:6: symbol DMADEVICES is selected by SND_SOC_SH4_SIU sound/soc/sh/Kconfig:30: symbol SND_SOC_SH4_SIU is selected by SND_SIU_MIGOR sound/soc/sh/Kconfig:60: symbol SND_SIU_MIGOR depends on I2C For a resolution refer to Documentation/kbuild/kconfig-language.rst subsection "Kconfig recursive dependency limitations"
Due to the DPSUB driver being merged in v5.9, this is a candidate fix for v5.9 as well. 1/3 and 2/3 can be merged independently, 3/3 depends on the first two. What's the best course of action, can I merge this all in a single tree, or should the rapidio and ASoC patches be merged independently early in the -rc cycle, and the DRM patch later on top ? I don't expect conflicts (especially in 2/3 and 3/3), so merging the whole series in one go would be simpler in my opinion.
Acked-By: Vinod Koul vkoul@kernel.org
Thank you.
As Mark as queued the sound fix in his for-next branch for v5.9, could you queue the dmaengine fix for v5.9 too ?
Dmaengine? I see three patches none of which touch dmaengine.. Did I miss something?
I'm not sure what I was thinking... It's the rapidio patch that needs to be merged.
Matt, Alexandre, can you either merge the patch as a v5.9 fix, or give me an ack to get it merged through the DRM tree ?
HI Laurent,
On 12-08-20, 01:52, Laurent Pinchart wrote:
Hi Vinod,
On Sun, Aug 02, 2020 at 12:14:09PM +0530, Vinod Koul wrote:
On 31-07-20, 23:42, Laurent Pinchart wrote:
On Fri, Jul 31, 2020 at 10:17:44PM +0530, Vinod Koul wrote:
On 31-07-20, 18:24, Laurent Pinchart wrote:
Hello,
This small series fixes a Kconfig dependency issue with the recently merged Xilixn DPSUB DRM/KMS driver. The fix is in patch 3/3, but requires a separate fixes in patches 1/3 and 2/3 to avoid circular dependencies:
drivers/i2c/Kconfig:8:error: recursive dependency detected! drivers/i2c/Kconfig:8: symbol I2C is selected by FB_DDC drivers/video/fbdev/Kconfig:63: symbol FB_DDC depends on FB drivers/video/fbdev/Kconfig:12: symbol FB is selected by DRM_KMS_FB_HELPER drivers/gpu/drm/Kconfig:80: symbol DRM_KMS_FB_HELPER depends on DRM_KMS_HELPER drivers/gpu/drm/Kconfig:74: symbol DRM_KMS_HELPER is selected by DRM_ZYNQMP_DPSUB drivers/gpu/drm/xlnx/Kconfig:1: symbol DRM_ZYNQMP_DPSUB depends on DMA_ENGINE drivers/dma/Kconfig:44: symbol DMA_ENGINE depends on DMADEVICES drivers/dma/Kconfig:6: symbol DMADEVICES is selected by SND_SOC_SH4_SIU sound/soc/sh/Kconfig:30: symbol SND_SOC_SH4_SIU is selected by SND_SIU_MIGOR sound/soc/sh/Kconfig:60: symbol SND_SIU_MIGOR depends on I2C For a resolution refer to Documentation/kbuild/kconfig-language.rst subsection "Kconfig recursive dependency limitations"
Due to the DPSUB driver being merged in v5.9, this is a candidate fix for v5.9 as well. 1/3 and 2/3 can be merged independently, 3/3 depends on the first two. What's the best course of action, can I merge this all in a single tree, or should the rapidio and ASoC patches be merged independently early in the -rc cycle, and the DRM patch later on top ? I don't expect conflicts (especially in 2/3 and 3/3), so merging the whole series in one go would be simpler in my opinion.
Acked-By: Vinod Koul vkoul@kernel.org
Thank you.
As Mark as queued the sound fix in his for-next branch for v5.9, could you queue the dmaengine fix for v5.9 too ?
Dmaengine? I see three patches none of which touch dmaengine.. Did I miss something?
I'm not sure what I was thinking... It's the rapidio patch that needs to be merged.
No worries :)
Matt, Alexandre, can you either merge the patch as a v5.9 fix, or give me an ack to get it merged through the DRM tree ?
-- Regards,
Laurent Pinchart
Matt, Alexandre,
Gentle ping. As this should be fixed in v5.9, a quick reply would be really appreciated. Otherwise I'll have to bundle the rapidio fix with the DPSUB fix, and get them both merged through the DRM/KMS tree without your ack.
On Wed, Aug 12, 2020 at 01:52:04AM +0300, Laurent Pinchart wrote:
On Sun, Aug 02, 2020 at 12:14:09PM +0530, Vinod Koul wrote:
On 31-07-20, 23:42, Laurent Pinchart wrote:
On Fri, Jul 31, 2020 at 10:17:44PM +0530, Vinod Koul wrote:
On 31-07-20, 18:24, Laurent Pinchart wrote:
Hello,
This small series fixes a Kconfig dependency issue with the recently merged Xilixn DPSUB DRM/KMS driver. The fix is in patch 3/3, but requires a separate fixes in patches 1/3 and 2/3 to avoid circular dependencies:
drivers/i2c/Kconfig:8:error: recursive dependency detected! drivers/i2c/Kconfig:8: symbol I2C is selected by FB_DDC drivers/video/fbdev/Kconfig:63: symbol FB_DDC depends on FB drivers/video/fbdev/Kconfig:12: symbol FB is selected by DRM_KMS_FB_HELPER drivers/gpu/drm/Kconfig:80: symbol DRM_KMS_FB_HELPER depends on DRM_KMS_HELPER drivers/gpu/drm/Kconfig:74: symbol DRM_KMS_HELPER is selected by DRM_ZYNQMP_DPSUB drivers/gpu/drm/xlnx/Kconfig:1: symbol DRM_ZYNQMP_DPSUB depends on DMA_ENGINE drivers/dma/Kconfig:44: symbol DMA_ENGINE depends on DMADEVICES drivers/dma/Kconfig:6: symbol DMADEVICES is selected by SND_SOC_SH4_SIU sound/soc/sh/Kconfig:30: symbol SND_SOC_SH4_SIU is selected by SND_SIU_MIGOR sound/soc/sh/Kconfig:60: symbol SND_SIU_MIGOR depends on I2C For a resolution refer to Documentation/kbuild/kconfig-language.rst subsection "Kconfig recursive dependency limitations"
Due to the DPSUB driver being merged in v5.9, this is a candidate fix for v5.9 as well. 1/3 and 2/3 can be merged independently, 3/3 depends on the first two. What's the best course of action, can I merge this all in a single tree, or should the rapidio and ASoC patches be merged independently early in the -rc cycle, and the DRM patch later on top ? I don't expect conflicts (especially in 2/3 and 3/3), so merging the whole series in one go would be simpler in my opinion.
Acked-By: Vinod Koul vkoul@kernel.org
Thank you.
As Mark as queued the sound fix in his for-next branch for v5.9, could you queue the dmaengine fix for v5.9 too ?
Dmaengine? I see three patches none of which touch dmaengine.. Did I miss something?
I'm not sure what I was thinking... It's the rapidio patch that needs to be merged.
Matt, Alexandre, can you either merge the patch as a v5.9 fix, or give me an ack to get it merged through the DRM tree ?
On Fri, 31 Jul 2020 18:24:30 +0300, Laurent Pinchart wrote:
This small series fixes a Kconfig dependency issue with the recently merged Xilixn DPSUB DRM/KMS driver. The fix is in patch 3/3, but requires a separate fixes in patches 1/3 and 2/3 to avoid circular dependencies:
drivers/i2c/Kconfig:8:error: recursive dependency detected! drivers/i2c/Kconfig:8: symbol I2C is selected by FB_DDC drivers/video/fbdev/Kconfig:63: symbol FB_DDC depends on FB drivers/video/fbdev/Kconfig:12: symbol FB is selected by DRM_KMS_FB_HELPER drivers/gpu/drm/Kconfig:80: symbol DRM_KMS_FB_HELPER depends on DRM_KMS_HELPER drivers/gpu/drm/Kconfig:74: symbol DRM_KMS_HELPER is selected by DRM_ZYNQMP_DPSUB drivers/gpu/drm/xlnx/Kconfig:1: symbol DRM_ZYNQMP_DPSUB depends on DMA_ENGINE drivers/dma/Kconfig:44: symbol DMA_ENGINE depends on DMADEVICES drivers/dma/Kconfig:6: symbol DMADEVICES is selected by SND_SOC_SH4_SIU sound/soc/sh/Kconfig:30: symbol SND_SOC_SH4_SIU is selected by SND_SIU_MIGOR sound/soc/sh/Kconfig:60: symbol SND_SIU_MIGOR depends on I2C For a resolution refer to Documentation/kbuild/kconfig-language.rst subsection "Kconfig recursive dependency limitations"
[...]
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
Thanks!
[1/1] ASoC: sh: Replace 'select' DMADEVICES 'with depends on' commit: 2dbf11ec7d3a63ebde946b5747ad6bd74d45adb1
All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying to this mail.
Thanks, Mark
participants (3)
-
Laurent Pinchart
-
Mark Brown
-
Vinod Koul