Re: [PATCH] drm: bridge: fix unmet dependency on DRM_KMS_HELPER for DRM_PANEL_BRIDGE
From: Laurent Pinchart
Date: Mon Oct 25 2021 - 18:10:41 EST
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@xxxxxxxxxx>
> > > Signed-off-by: Julian Braha <julianbraha@xxxxxxxxx>
> > > ---
> > > 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