2021-10-25 17:45:18

by Julian Braha

[permalink] [raw]
Subject: [PATCH] drm: bridge: fix unmet dependency on DRM_KMS_HELPER for DRM_PANEL_BRIDGE

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 <[email protected]>
Signed-off-by: Julian Braha <[email protected]>
---
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
--
2.30.2


2021-10-25 17:53:07

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH] drm: bridge: fix unmet dependency on DRM_KMS_HELPER for DRM_PANEL_BRIDGE

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 <[email protected]>
> Signed-off-by: Julian Braha <[email protected]>
> ---
> 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

--
Regards,

Laurent Pinchart

2021-10-25 21:40:14

by Julian Braha

[permalink] [raw]
Subject: Re: [PATCH] drm: bridge: fix unmet dependency on DRM_KMS_HELPER for DRM_PANEL_BRIDGE

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 <[email protected]>
> > Signed-off-by: Julian Braha <[email protected]>
> > ---
> > 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



2021-10-26 02:00:01

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH] drm: bridge: fix unmet dependency on DRM_KMS_HELPER for DRM_PANEL_BRIDGE

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 <[email protected]>
> > > Signed-off-by: Julian Braha <[email protected]>
> > > ---
> > > 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.

--
Regards,

Laurent Pinchart

2021-10-26 06:41:56

by Julian Braha

[permalink] [raw]
Subject: Re: [PATCH] drm: bridge: fix unmet dependency on DRM_KMS_HELPER for DRM_PANEL_BRIDGE

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 <[email protected]>
> > > > Signed-off-by: Julian Braha <[email protected]>
> > > > ---
> > > > 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