On Wed, 27 Mar 2024, Maxime Ripard <mripard@xxxxxxxxxx> wrote: > DRM_DW_HDMI has a number of dependencies that might not be enabled. > However, drivers were used to selecting it while not enforcing the > DRM_DW_HDMI dependencies. > > This could result in Kconfig warnings (and further build breakages) such > as: > > Kconfig warnings: (for reference only) > WARNING: unmet direct dependencies detected for DRM_DW_HDMI > Depends on [n]: HAS_IOMEM [=y] && DRM [=m] && DRM_BRIDGE [=y] && DRM_DISPLAY_HELPER [=n] > Selected by [m]: > - DRM_SUN8I_DW_HDMI [=m] && HAS_IOMEM [=y] && DRM_SUN4I [=m] > > Reported-by: kernel test robot <lkp@xxxxxxxxx> > Closes: https://lore.kernel.org/oe-kbuild-all/202403262127.kZkttfNz-lkp@xxxxxxxxx/ > Signed-off-by: Maxime Ripard <mripard@xxxxxxxxxx> Acked-by: Jani Nikula <jani.nikula@xxxxxxxxx> > --- > drivers/gpu/drm/bridge/imx/Kconfig | 4 ++-- > drivers/gpu/drm/imx/ipuv3/Kconfig | 5 +++-- > drivers/gpu/drm/ingenic/Kconfig | 2 +- > drivers/gpu/drm/meson/Kconfig | 2 +- > drivers/gpu/drm/renesas/rcar-du/Kconfig | 2 +- > drivers/gpu/drm/rockchip/Kconfig | 2 +- > drivers/gpu/drm/sun4i/Kconfig | 2 +- > 7 files changed, 10 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/imx/Kconfig b/drivers/gpu/drm/bridge/imx/Kconfig > index 5965e8027529..7687ed652df5 100644 > --- a/drivers/gpu/drm/bridge/imx/Kconfig > +++ b/drivers/gpu/drm/bridge/imx/Kconfig > @@ -3,13 +3,13 @@ if ARCH_MXC || COMPILE_TEST > config DRM_IMX_LDB_HELPER > tristate > > config DRM_IMX8MP_DW_HDMI_BRIDGE > tristate "Freescale i.MX8MP HDMI-TX bridge support" > - depends on OF > depends on COMMON_CLK > - select DRM_DW_HDMI > + depends on DRM_DW_HDMI > + depends on OF > select DRM_IMX8MP_HDMI_PVI > select PHY_FSL_SAMSUNG_HDMI_PHY > help > Choose this to enable support for the internal HDMI encoder found > on the i.MX8MP SoC. > diff --git a/drivers/gpu/drm/imx/ipuv3/Kconfig b/drivers/gpu/drm/imx/ipuv3/Kconfig > index bacf0655ebaf..5d810ac02171 100644 > --- a/drivers/gpu/drm/imx/ipuv3/Kconfig > +++ b/drivers/gpu/drm/imx/ipuv3/Kconfig > @@ -33,9 +33,10 @@ config DRM_IMX_LDB > Choose this to enable the internal LVDS Display Bridge (LDB) > found on i.MX53 and i.MX6 processors. > > config DRM_IMX_HDMI > tristate "Freescale i.MX DRM HDMI" > - select DRM_DW_HDMI > - depends on DRM_IMX && OF > + depends on DRM_DW_HDMI > + depends on DRM_IMX > + depends on OF > help > Choose this if you want to use HDMI on i.MX6. > diff --git a/drivers/gpu/drm/ingenic/Kconfig b/drivers/gpu/drm/ingenic/Kconfig > index 3db117c5edd9..23effeb2ac72 100644 > --- a/drivers/gpu/drm/ingenic/Kconfig > +++ b/drivers/gpu/drm/ingenic/Kconfig > @@ -25,12 +25,12 @@ config DRM_INGENIC_IPU > > The Image Processing Unit (IPU) will appear as a second primary plane. > > config DRM_INGENIC_DW_HDMI > tristate "Ingenic specific support for Synopsys DW HDMI" > + depends on DRM_DW_HDMI > depends on MACH_JZ4780 > - select DRM_DW_HDMI > help > Choose this option to enable Synopsys DesignWare HDMI based driver. > If you want to enable HDMI on Ingenic JZ4780 based SoC, you should > select this option. > > diff --git a/drivers/gpu/drm/meson/Kconfig b/drivers/gpu/drm/meson/Kconfig > index 615fdd0ce41b..5520b9e3f010 100644 > --- a/drivers/gpu/drm/meson/Kconfig > +++ b/drivers/gpu/drm/meson/Kconfig > @@ -11,13 +11,13 @@ config DRM_MESON > select MESON_CANVAS > select CEC_CORE if CEC_NOTIFIER > > config DRM_MESON_DW_HDMI > tristate "HDMI Synopsys Controller support for Amlogic Meson Display" > + depends on DRM_DW_HDMI > depends on DRM_MESON > default y if DRM_MESON > - select DRM_DW_HDMI > imply DRM_DW_HDMI_I2S_AUDIO > > config DRM_MESON_DW_MIPI_DSI > tristate "MIPI DSI Synopsys Controller support for Amlogic Meson Display" > depends on DRM_MESON > diff --git a/drivers/gpu/drm/renesas/rcar-du/Kconfig b/drivers/gpu/drm/renesas/rcar-du/Kconfig > index 53c356aed5d5..2dc739db2ba3 100644 > --- a/drivers/gpu/drm/renesas/rcar-du/Kconfig > +++ b/drivers/gpu/drm/renesas/rcar-du/Kconfig > @@ -23,12 +23,12 @@ config DRM_RCAR_CMM > depends on DRM_RCAR_USE_CMM > > config DRM_RCAR_DW_HDMI > tristate "R-Car Gen3 and RZ/G2 DU HDMI Encoder Support" > depends on DRM && OF > + depends on DRM_DW_HDMI > depends on DRM_RCAR_DU || COMPILE_TEST > - select DRM_DW_HDMI > help > Enable support for R-Car Gen3 or RZ/G2 internal HDMI encoder. > > config DRM_RCAR_USE_LVDS > bool "R-Car DU LVDS Encoder Support" > diff --git a/drivers/gpu/drm/rockchip/Kconfig b/drivers/gpu/drm/rockchip/Kconfig > index 1bf3e2829cd0..0d5260e10f27 100644 > --- a/drivers/gpu/drm/rockchip/Kconfig > +++ b/drivers/gpu/drm/rockchip/Kconfig > @@ -5,11 +5,10 @@ config DRM_ROCKCHIP > select DRM_GEM_DMA_HELPER > select DRM_KMS_HELPER > select DRM_PANEL > select VIDEOMODE_HELPERS > select DRM_ANALOGIX_DP if ROCKCHIP_ANALOGIX_DP > - select DRM_DW_HDMI if ROCKCHIP_DW_HDMI > select DRM_DW_MIPI_DSI if ROCKCHIP_DW_MIPI_DSI > select GENERIC_PHY if ROCKCHIP_DW_MIPI_DSI > select GENERIC_PHY_MIPI_DPHY if ROCKCHIP_DW_MIPI_DSI > select SND_SOC_HDMI_CODEC if ROCKCHIP_CDN_DP && SND_SOC > help > @@ -55,10 +54,11 @@ config ROCKCHIP_CDN_DP > RK3399 based SoC, you should select this > option. > > config ROCKCHIP_DW_HDMI > bool "Rockchip specific extensions for Synopsys DW HDMI" > + depends on DRM_DW_HDMI > help > This selects support for Rockchip SoC specific extensions > for the Synopsys DesignWare HDMI driver. If you want to > enable HDMI on RK3288 or RK3399 based SoC, you should select > this option. > diff --git a/drivers/gpu/drm/sun4i/Kconfig b/drivers/gpu/drm/sun4i/Kconfig > index 4741d9f6544c..5b19c7cb7b7e 100644 > --- a/drivers/gpu/drm/sun4i/Kconfig > +++ b/drivers/gpu/drm/sun4i/Kconfig > @@ -55,12 +55,12 @@ config DRM_SUN6I_DSI > sun6i_mipi_dsi. > > config DRM_SUN8I_DW_HDMI > tristate "Support for Allwinner version of DesignWare HDMI" > depends on DRM_SUN4I > + depends on DRM_DW_HDMI > default DRM_SUN4I > - select DRM_DW_HDMI > help > Choose this option if you have an Allwinner SoC with the > DesignWare HDMI controller. SoCs that support HDMI and > have a Display Engine 2.0 contain this controller. If M is > selected the module will be called sun8i_dw_hdmi. -- Jani Nikula, Intel