dmaengine Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH 0/3] Fix Kconfig dependency issue with DMAENGINES selection
@ 2020-07-29 16:29 Laurent Pinchart
  2020-07-29 16:29 ` [PATCH 1/3] rapidio: Replace 'select' DMAENGINES 'with depends on' Laurent Pinchart
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Laurent Pinchart @ 2020-07-29 16:29 UTC (permalink / raw)
  To: dmaengine, dri-devel, alsa-devel
  Cc: Randy Dunlap, Mark Brown, Liam Girdwood, Alexandre Bounine,
	Matt Porter, Michal Simek, Vinod Koul, Hyun Kwon

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.

Laurent Pinchart (3):
  rapidio: Replace 'select' DMAENGINES 'with depends on'
  ASoC: sh: Replace 'select' DMAENGINES '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(-)

-- 
Regards,

Laurent Pinchart


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/3] rapidio: Replace 'select' DMAENGINES 'with depends on'
  2020-07-29 16:29 [PATCH 0/3] Fix Kconfig dependency issue with DMAENGINES selection Laurent Pinchart
@ 2020-07-29 16:29 ` Laurent Pinchart
  2020-07-29 16:43   ` Sam Ravnborg
  2020-07-29 16:29 ` [PATCH 2/3] ASoC: sh: " Laurent Pinchart
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 7+ messages in thread
From: Laurent Pinchart @ 2020-07-29 16:29 UTC (permalink / raw)
  To: dmaengine, dri-devel, alsa-devel
  Cc: Randy Dunlap, Mark Brown, Liam Girdwood, Alexandre Bounine,
	Matt Porter, Michal Simek, Vinod Koul, Hyun Kwon

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 DMAENGINES 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
-- 
Regards,

Laurent Pinchart


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 2/3] ASoC: sh: Replace 'select' DMAENGINES 'with depends on'
  2020-07-29 16:29 [PATCH 0/3] Fix Kconfig dependency issue with DMAENGINES selection Laurent Pinchart
  2020-07-29 16:29 ` [PATCH 1/3] rapidio: Replace 'select' DMAENGINES 'with depends on' Laurent Pinchart
@ 2020-07-29 16:29 ` Laurent Pinchart
  2020-07-29 16:29 ` [PATCH 3/3] drm: xlnx: dpsub: Fix DMADEVICES Kconfig dependency Laurent Pinchart
  2020-07-31 18:54 ` [PATCH 0/3] Fix Kconfig dependency issue with DMAENGINES selection Mark Brown
  3 siblings, 0 replies; 7+ messages in thread
From: Laurent Pinchart @ 2020-07-29 16:29 UTC (permalink / raw)
  To: dmaengine, dri-devel, alsa-devel
  Cc: Randy Dunlap, Mark Brown, Liam Girdwood, Alexandre Bounine,
	Matt Porter, Michal Simek, Vinod Koul, Hyun Kwon

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 DMAENGINES 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
 
-- 
Regards,

Laurent Pinchart


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 3/3] drm: xlnx: dpsub: Fix DMADEVICES Kconfig dependency
  2020-07-29 16:29 [PATCH 0/3] Fix Kconfig dependency issue with DMAENGINES selection Laurent Pinchart
  2020-07-29 16:29 ` [PATCH 1/3] rapidio: Replace 'select' DMAENGINES 'with depends on' Laurent Pinchart
  2020-07-29 16:29 ` [PATCH 2/3] ASoC: sh: " Laurent Pinchart
@ 2020-07-29 16:29 ` Laurent Pinchart
  2020-07-31 18:54 ` [PATCH 0/3] Fix Kconfig dependency issue with DMAENGINES selection Mark Brown
  3 siblings, 0 replies; 7+ messages in thread
From: Laurent Pinchart @ 2020-07-29 16:29 UTC (permalink / raw)
  To: dmaengine, dri-devel, alsa-devel
  Cc: Randy Dunlap, Mark Brown, Liam Girdwood, Alexandre Bounine,
	Matt Porter, Michal Simek, Vinod Koul, Hyun Kwon

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
-- 
Regards,

Laurent Pinchart


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/3] rapidio: Replace 'select' DMAENGINES 'with depends on'
  2020-07-29 16:29 ` [PATCH 1/3] rapidio: Replace 'select' DMAENGINES 'with depends on' Laurent Pinchart
@ 2020-07-29 16:43   ` Sam Ravnborg
  2020-07-29 16:50     ` Laurent Pinchart
  0 siblings, 1 reply; 7+ messages in thread
From: Sam Ravnborg @ 2020-07-29 16:43 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: dmaengine, dri-devel, alsa-devel, Hyun Kwon, Randy Dunlap,
	Liam Girdwood, Michal Simek, Alexandre Bounine, Vinod Koul,
	Mark Brown, Matt Porter

Hi Laurent.

On Wed, Jul 29, 2020 at 07:29:08PM +0300, Laurent Pinchart wrote:
> 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 DMAENGINES 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
$subject and changlog talks about DMAENGINES but the patch touches DMADEVICES??

	Sam


>  	select DMA_ENGINE
>  	help
>  	  Say Y here if you want to use DMA Engine frameork for RapidIO data
> -- 
> Regards,
> 
> Laurent Pinchart
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/3] rapidio: Replace 'select' DMAENGINES 'with depends on'
  2020-07-29 16:43   ` Sam Ravnborg
@ 2020-07-29 16:50     ` Laurent Pinchart
  0 siblings, 0 replies; 7+ messages in thread
From: Laurent Pinchart @ 2020-07-29 16:50 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: dmaengine, dri-devel, alsa-devel, Hyun Kwon, Randy Dunlap,
	Liam Girdwood, Michal Simek, Alexandre Bounine, Vinod Koul,
	Mark Brown, Matt Porter

Hi Sam,

On Wed, Jul 29, 2020 at 06:43:26PM +0200, Sam Ravnborg wrote:
> On Wed, Jul 29, 2020 at 07:29:08PM +0300, Laurent Pinchart wrote:
> > 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 DMAENGINES 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
>
> $subject and changlog talks about DMAENGINES but the patch touches DMADEVICES??

Clearly a typo in the subject line, it should be DMADEVICES. I'll wait a
little bit to see if there are more comments, and will send a v2.

> >  	select DMA_ENGINE
> >  	help
> >  	  Say Y here if you want to use DMA Engine frameork for RapidIO data

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/3] Fix Kconfig dependency issue with DMAENGINES selection
  2020-07-29 16:29 [PATCH 0/3] Fix Kconfig dependency issue with DMAENGINES selection Laurent Pinchart
                   ` (2 preceding siblings ...)
  2020-07-29 16:29 ` [PATCH 3/3] drm: xlnx: dpsub: Fix DMADEVICES Kconfig dependency Laurent Pinchart
@ 2020-07-31 18:54 ` Mark Brown
  3 siblings, 0 replies; 7+ messages in thread
From: Mark Brown @ 2020-07-31 18:54 UTC (permalink / raw)
  To: alsa-devel, Laurent Pinchart, dmaengine, dri-devel
  Cc: Hyun Kwon, Vinod Koul, Liam Girdwood, Randy Dunlap,
	Alexandre Bounine, Michal Simek, Matt Porter

On Wed, 29 Jul 2020 19:29:07 +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

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, back to index

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-29 16:29 [PATCH 0/3] Fix Kconfig dependency issue with DMAENGINES selection Laurent Pinchart
2020-07-29 16:29 ` [PATCH 1/3] rapidio: Replace 'select' DMAENGINES 'with depends on' Laurent Pinchart
2020-07-29 16:43   ` Sam Ravnborg
2020-07-29 16:50     ` Laurent Pinchart
2020-07-29 16:29 ` [PATCH 2/3] ASoC: sh: " Laurent Pinchart
2020-07-29 16:29 ` [PATCH 3/3] drm: xlnx: dpsub: Fix DMADEVICES Kconfig dependency Laurent Pinchart
2020-07-31 18:54 ` [PATCH 0/3] Fix Kconfig dependency issue with DMAENGINES selection Mark Brown

dmaengine Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/dmaengine/0 dmaengine/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dmaengine dmaengine/ https://lore.kernel.org/dmaengine \
		dmaengine@vger.kernel.org
	public-inbox-index dmaengine

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.dmaengine


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git