diff mbox series

drm: bridge: fix unmet dependency on DRM_KMS_HELPER for DRM_PANEL_BRIDGE

Message ID 20211025174202.32396-1-julianbraha@gmail.com (mailing list archive)
State New, archived
Headers show
Series drm: bridge: fix unmet dependency on DRM_KMS_HELPER for DRM_PANEL_BRIDGE | expand

Commit Message

Julian Braha Oct. 25, 2021, 5:42 p.m. UTC
When DRM_CHIPONE_ICN6211 is selected, and DRM_KMS_HELPER is not selected,
Kbuild gives the following warning:

WARNING: unmet direct dependencies detected for DRM_PANEL_BRIDGE
  Depends on [n]: HAS_IOMEM [=y] && DRM_BRIDGE [=y] && DRM_KMS_HELPER [=n]
  Selected by [y]:
  - DRM_CHIPONE_ICN6211 [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_BRIDGE [=y] && OF [=y]

This is because DRM_CHIPONE_ICN6211 selects DRM_PANEL_BRIDGE
without depending on or selecting DRM_KMS_HELPER,
despite DRM_PANEL_BRIDGE depending on DRM_KMS_HELPER.

This unmet dependency bug was detected by Kismet,
a static analysis tool for Kconfig.
Please advise if this is not the appropriate solution.

Fixes: ce517f18944e ("drm: bridge: Add Chipone ICN6211 MIPI-DSI to RGB bridge")
Reviewed-by: Robert Foss <robert.foss@linaro.org>
Signed-off-by: Julian Braha <julianbraha@gmail.com>
---
 drivers/gpu/drm/bridge/Kconfig | 1 +
 1 file changed, 1 insertion(+)

--
2.30.2

Comments

Laurent Pinchart Oct. 25, 2021, 5:47 p.m. UTC | #1
Hi Julian,

Thank you for the patch.

On Mon, Oct 25, 2021 at 01:42:02PM -0400, Julian Braha wrote:
> When DRM_CHIPONE_ICN6211 is selected, and DRM_KMS_HELPER is not selected,
> Kbuild gives the following warning:
> 
> WARNING: unmet direct dependencies detected for DRM_PANEL_BRIDGE
>   Depends on [n]: HAS_IOMEM [=y] && DRM_BRIDGE [=y] && DRM_KMS_HELPER [=n]
>   Selected by [y]:
>   - DRM_CHIPONE_ICN6211 [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_BRIDGE [=y] && OF [=y]
> 
> This is because DRM_CHIPONE_ICN6211 selects DRM_PANEL_BRIDGE
> without depending on or selecting DRM_KMS_HELPER,
> despite DRM_PANEL_BRIDGE depending on DRM_KMS_HELPER.
> 
> This unmet dependency bug was detected by Kismet,
> a static analysis tool for Kconfig.
> Please advise if this is not the appropriate solution.

Shouldn't DRM_PANEL_BRIDGE select DRM_KMS_HELPER instead of depending on
it ?

> Fixes: ce517f18944e ("drm: bridge: Add Chipone ICN6211 MIPI-DSI to RGB bridge")
> Reviewed-by: Robert Foss <robert.foss@linaro.org>
> Signed-off-by: Julian Braha <julianbraha@gmail.com>
> ---
>  drivers/gpu/drm/bridge/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig
> index 431b6e12a81f..a630cb8fd1c8 100644
> --- a/drivers/gpu/drm/bridge/Kconfig
> +++ b/drivers/gpu/drm/bridge/Kconfig
> @@ -30,6 +30,7 @@ config DRM_CDNS_DSI
>  config DRM_CHIPONE_ICN6211
>  	tristate "Chipone ICN6211 MIPI-DSI/RGB Converter bridge"
>  	depends on OF
> +  select DRM_KMS_HELPER
>  	select DRM_MIPI_DSI
>  	select DRM_PANEL_BRIDGE
>  	help
Julian Braha Oct. 25, 2021, 6:51 p.m. UTC | #2
On Monday, October 25, 2021 1:47:35 PM EDT you wrote:
> Hi Julian,
> 
> Thank you for the patch.
> 
> On Mon, Oct 25, 2021 at 01:42:02PM -0400, Julian Braha wrote:
> > When DRM_CHIPONE_ICN6211 is selected, and DRM_KMS_HELPER is not selected,
> > Kbuild gives the following warning:
> > 
> > WARNING: unmet direct dependencies detected for DRM_PANEL_BRIDGE
> >   Depends on [n]: HAS_IOMEM [=y] && DRM_BRIDGE [=y] && DRM_KMS_HELPER [=n]
> >   Selected by [y]:
> >   - DRM_CHIPONE_ICN6211 [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_BRIDGE [=y] && OF [=y]
> > 
> > This is because DRM_CHIPONE_ICN6211 selects DRM_PANEL_BRIDGE
> > without depending on or selecting DRM_KMS_HELPER,
> > despite DRM_PANEL_BRIDGE depending on DRM_KMS_HELPER.
> > 
> > This unmet dependency bug was detected by Kismet,
> > a static analysis tool for Kconfig.
> > Please advise if this is not the appropriate solution.
> 
> Shouldn't DRM_PANEL_BRIDGE select DRM_KMS_HELPER instead of depending on
> it ?
> 
> > Fixes: ce517f18944e ("drm: bridge: Add Chipone ICN6211 MIPI-DSI to RGB bridge")
> > Reviewed-by: Robert Foss <robert.foss@linaro.org>
> > Signed-off-by: Julian Braha <julianbraha@gmail.com>
> > ---
> >  drivers/gpu/drm/bridge/Kconfig | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig
> > index 431b6e12a81f..a630cb8fd1c8 100644
> > --- a/drivers/gpu/drm/bridge/Kconfig
> > +++ b/drivers/gpu/drm/bridge/Kconfig
> > @@ -30,6 +30,7 @@ config DRM_CDNS_DSI
> >  config DRM_CHIPONE_ICN6211
> >  	tristate "Chipone ICN6211 MIPI-DSI/RGB Converter bridge"
> >  	depends on OF
> > +  select DRM_KMS_HELPER
> >  	select DRM_MIPI_DSI
> >  	select DRM_PANEL_BRIDGE
> >  	help
> 
> 

Hi Laurent,

Either a "select" or a "depends" will resolve this issue, but
most similar devices in this Kconfig file select DRM_KMS_HELPER.
Is there something different about DRM_CHIPONE_ICN6211 that I have missed?

- Julian Braha
Laurent Pinchart Oct. 25, 2021, 10:10 p.m. UTC | #3
Hi Julian,

On Mon, Oct 25, 2021 at 02:51:47PM -0400, Julian Braha wrote:
> On Monday, October 25, 2021 1:47:35 PM EDT you wrote:
> > On Mon, Oct 25, 2021 at 01:42:02PM -0400, Julian Braha wrote:
> > > When DRM_CHIPONE_ICN6211 is selected, and DRM_KMS_HELPER is not selected,
> > > Kbuild gives the following warning:
> > > 
> > > WARNING: unmet direct dependencies detected for DRM_PANEL_BRIDGE
> > >   Depends on [n]: HAS_IOMEM [=y] && DRM_BRIDGE [=y] && DRM_KMS_HELPER [=n]
> > >   Selected by [y]:
> > >   - DRM_CHIPONE_ICN6211 [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_BRIDGE [=y] && OF [=y]
> > > 
> > > This is because DRM_CHIPONE_ICN6211 selects DRM_PANEL_BRIDGE
> > > without depending on or selecting DRM_KMS_HELPER,
> > > despite DRM_PANEL_BRIDGE depending on DRM_KMS_HELPER.
> > > 
> > > This unmet dependency bug was detected by Kismet,
> > > a static analysis tool for Kconfig.
> > > Please advise if this is not the appropriate solution.
> > 
> > Shouldn't DRM_PANEL_BRIDGE select DRM_KMS_HELPER instead of depending on
> > it ?
> > 
> > > Fixes: ce517f18944e ("drm: bridge: Add Chipone ICN6211 MIPI-DSI to RGB bridge")
> > > Reviewed-by: Robert Foss <robert.foss@linaro.org>
> > > Signed-off-by: Julian Braha <julianbraha@gmail.com>
> > > ---
> > >  drivers/gpu/drm/bridge/Kconfig | 1 +
> > >  1 file changed, 1 insertion(+)
> > > 
> > > diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig
> > > index 431b6e12a81f..a630cb8fd1c8 100644
> > > --- a/drivers/gpu/drm/bridge/Kconfig
> > > +++ b/drivers/gpu/drm/bridge/Kconfig
> > > @@ -30,6 +30,7 @@ config DRM_CDNS_DSI
> > >  config DRM_CHIPONE_ICN6211
> > >  	tristate "Chipone ICN6211 MIPI-DSI/RGB Converter bridge"
> > >  	depends on OF
> > > +  select DRM_KMS_HELPER
> > >  	select DRM_MIPI_DSI
> > >  	select DRM_PANEL_BRIDGE
> > >  	help
> 
> Hi Laurent,
> 
> Either a "select" or a "depends" will resolve this issue,

Mixing "select" and "depends" usually lead to be results. DRM_KMS_HELPER
is a symbol that is mostly selected (I think there are a handful of
occurrences of "depends", which should probably be fixed).

> but most similar devices in this Kconfig file select DRM_KMS_HELPER.
> Is there something different about DRM_CHIPONE_ICN6211 that I have missed?

There isn't anything fundamentally different, but because DRM_KMS_HELPER
is meant to be selected and not depended on, I think we should fix that
for DRM_PANEL_BRIDGE, and it will fix the issue with
DRM_CHIPONE_ICN6211. The dependency on the KMS helpers come from
drm_panel_bridge.c, not from chipone-icn6211.c as far as I can tell, so
it would also be more correct.
Julian Braha Oct. 26, 2021, 2:36 a.m. UTC | #4
On Monday, October 25, 2021 6:10:12 PM EDT you wrote:
> Hi Julian,
> 
> On Mon, Oct 25, 2021 at 02:51:47PM -0400, Julian Braha wrote:
> > On Monday, October 25, 2021 1:47:35 PM EDT you wrote:
> > > On Mon, Oct 25, 2021 at 01:42:02PM -0400, Julian Braha wrote:
> > > > When DRM_CHIPONE_ICN6211 is selected, and DRM_KMS_HELPER is not selected,
> > > > Kbuild gives the following warning:
> > > > 
> > > > WARNING: unmet direct dependencies detected for DRM_PANEL_BRIDGE
> > > >   Depends on [n]: HAS_IOMEM [=y] && DRM_BRIDGE [=y] && DRM_KMS_HELPER [=n]
> > > >   Selected by [y]:
> > > >   - DRM_CHIPONE_ICN6211 [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_BRIDGE [=y] && OF [=y]
> > > > 
> > > > This is because DRM_CHIPONE_ICN6211 selects DRM_PANEL_BRIDGE
> > > > without depending on or selecting DRM_KMS_HELPER,
> > > > despite DRM_PANEL_BRIDGE depending on DRM_KMS_HELPER.
> > > > 
> > > > This unmet dependency bug was detected by Kismet,
> > > > a static analysis tool for Kconfig.
> > > > Please advise if this is not the appropriate solution.
> > > 
> > > Shouldn't DRM_PANEL_BRIDGE select DRM_KMS_HELPER instead of depending on
> > > it ?
> > > 
> > > > Fixes: ce517f18944e ("drm: bridge: Add Chipone ICN6211 MIPI-DSI to RGB bridge")
> > > > Reviewed-by: Robert Foss <robert.foss@linaro.org>
> > > > Signed-off-by: Julian Braha <julianbraha@gmail.com>
> > > > ---
> > > >  drivers/gpu/drm/bridge/Kconfig | 1 +
> > > >  1 file changed, 1 insertion(+)
> > > > 
> > > > diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig
> > > > index 431b6e12a81f..a630cb8fd1c8 100644
> > > > --- a/drivers/gpu/drm/bridge/Kconfig
> > > > +++ b/drivers/gpu/drm/bridge/Kconfig
> > > > @@ -30,6 +30,7 @@ config DRM_CDNS_DSI
> > > >  config DRM_CHIPONE_ICN6211
> > > >  	tristate "Chipone ICN6211 MIPI-DSI/RGB Converter bridge"
> > > >  	depends on OF
> > > > +  select DRM_KMS_HELPER
> > > >  	select DRM_MIPI_DSI
> > > >  	select DRM_PANEL_BRIDGE
> > > >  	help
> > 
> > Hi Laurent,
> > 
> > Either a "select" or a "depends" will resolve this issue,
> 
> Mixing "select" and "depends" usually lead to be results. DRM_KMS_HELPER
> is a symbol that is mostly selected (I think there are a handful of
> occurrences of "depends", which should probably be fixed).
> 
> > but most similar devices in this Kconfig file select DRM_KMS_HELPER.
> > Is there something different about DRM_CHIPONE_ICN6211 that I have missed?
> 
> There isn't anything fundamentally different, but because DRM_KMS_HELPER
> is meant to be selected and not depended on, I think we should fix that
> for DRM_PANEL_BRIDGE, and it will fix the issue with
> DRM_CHIPONE_ICN6211. The dependency on the KMS helpers come from
> drm_panel_bridge.c, not from chipone-icn6211.c as far as I can tell, so
> it would also be more correct.
> 
> 

Hi Laurent,

I appreciate your feedback! I will make your suggested change,
and resubmit.

- Julian Braha
diff mbox series

Patch

diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig
index 431b6e12a81f..a630cb8fd1c8 100644
--- a/drivers/gpu/drm/bridge/Kconfig
+++ b/drivers/gpu/drm/bridge/Kconfig
@@ -30,6 +30,7 @@  config DRM_CDNS_DSI
 config DRM_CHIPONE_ICN6211
 	tristate "Chipone ICN6211 MIPI-DSI/RGB Converter bridge"
 	depends on OF
+  select DRM_KMS_HELPER
 	select DRM_MIPI_DSI
 	select DRM_PANEL_BRIDGE
 	help