Message ID | 20240327-kms-kconfig-helpers-v3-7-eafee11b84b3@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/display: Convert helpers Kconfig symbols to depends on | expand |
On Wed, 27 Mar 2024, Maxime Ripard <mripard@kernel.org> 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@intel.com> > Closes: https://lore.kernel.org/oe-kbuild-all/202403262127.kZkttfNz-lkp@intel.com/ > Signed-off-by: Maxime Ripard <mripard@kernel.org> Acked-by: Jani Nikula <jani.nikula@intel.com> > --- > 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.
On Wed, Mar 27, 2024 at 11:57:02AM +0100, Maxime Ripard 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] This has landed in -next and appears to be causing breakage for several platforms using these devices. For example I'm seeing the HDMI fail to probe on sun50i-a64-pin64-plus with arm64 defconfig, the DT kselftest result isn't terribly informative but it can be seen here: https://lava.sirena.org.uk/scheduler/job/78288#L6007 which I bisected to this change: # bad: [c0b832517f627ead3388c6f0c74e8ac10ad5774b] Add linux-next specific files for 20240402 # good: [0fc83069bcaee78f60b8511d9453a9441963a072] Merge branch 'for-linux-next-fixes' of https://gitlab.freedesktop.org/drm/misc/kernel.git # good: [ba5206881843e16b74a07c37970dcc44d22f8f6f] spi: spi.h: add missing kernel-doc for @last_cs_index_mask # good: [64fe73d10323e399b2e8eb5407390bcb302a046c] spi: fsl: remove is_dma_mapped checks # good: [bb77c99ee6d3d704086acf141d3ec92601747809] spi: pxa2xx: Skip SSP initialization if it's done elsewhere # good: [e64d3b6fc9a388d7dc516668651cf4404bffec9b] spi: omap2-mcpsi: Enable MULTI-mode in more situations # good: [57ad033ce09d4d0c866ac558fc3c4cf53cfb2599] ASoC: Intel: sof_cs42l42: add mtl_cs42l42_def for mtl boards # good: [7b5f2072657a9041cbaf4ba139f672be11694ca3] ASoC: dt-bindings: fsl-sai: allow only one dma-names # good: [a5bef84422eb066ee8fa5c13960657a79b3cc1e7] spi: fsl-dspi: drop driver owner assignment # good: [29580cd7b9c6f975e88597ca66a001b16b97bae9] ASoC: sdw-mockup: drop driver owner assignment # good: [ea60ab95723f5738e7737b56dda95e6feefa5b50] ASoC: kirkwood: Fix potential NULL dereference # good: [c0a3873b9938bfaa77bd337cad33266a50a6583f] ASoC: nau8325: new driver # good: [559aebe45a054a479fdbd2a3dfba999ffd73cc9d] ASoC: sun8i-codec: Fix build with CONFIG_SND_JACK_INPUT_DEV disabled # good: [d5449432f794e75cd4f5e46bc33bfe6ce20b657d] spi: pxa2xx: Switch to use dev_err_probe() # good: [7b95ee0db7e0a7f99077f1b926323c7bf0d2e8f8] ASoC: soc-jack: Get rid of legacy GPIO support # good: [ea5fee227ff3dae209062ac9544906debe1e9ac1] ASoC: hdac_hda: improve error logs # good: [4ed0915f5bc4bcc81bca783a5b984f3d81e9764e] ASoC: codecs: Add RK3308 internal audio codec driver # good: [59ffeb15b2f7b44cf934fd778dc0d98a35aa6a84] ASoC: Intel: sof_sdw: Add support for cs42l43 optional speaker output # good: [1e90a846493c716e3e6b4d901fc0844e9eea6430] ASoC: soc-dai: Note valid values of sysclock direction # good: [61cafaeab5bca2d3e6a68ee8fa92b5c10b8610ca] ASoC: Intel: sof_rt5682: board id cleanup for cml boards # good: [9b163e0d330debbf7dcc14b2c3e2dc19a3b50a1d] spi: remove struct spi_message::is_dma_mapped # good: [b340f56a74b62d8ce8617650c8ab4a26c87ba5c5] ASoC: dt-bindings: wm8974: Convert to dtschema # good: [bdeef5dcea6b164f4bd614655821b1ef12ebec9a] spi: rspi: Get rid of unused struct rspi_plat_data # good: [885dd75f41f9fff5b277bc6ab28ad798f98a37b4] ASoC: dt-bindings: fsl-esai: Convert fsl,esai.txt to yaml # good: [10402419f2d60890525f590b54d0eaec3de0d87a] spi: spi-mt65xx: Rename a variable in interrupt handler # good: [9855f05e553637f05494cf47a3154cbf9a5cfc67] ASoC: fsl: imx-es8328: Switch to using gpiod API # good: [5f39231888c63f0a7708abc86b51b847476379d8] ASoC: mediatek: Assign dummy when codec not specified for a DAI link # good: [5edeb7d312628961046eec9b26a7e72f44baf846] regulator: pca9450: add pca9451a support # good: [c14445bdcb98feddf9afaeb05e6193cc1f8eec1a] ASoC: fsl: imx-rpmsg: Update to correct DT node # good: [a39111b1cf0864b1782f30f9a1fa65260d057327] spi: xilinx: Make num_chipselect 8-bit in the struct xspi_platform_data # good: [b5867a5c0d7a6bf36f59f3d472c7aed33ca4d02c] spi: pxa2xx: Use proper SSP header in soc/pxa/ssp.c # good: [60c10c678b582d41532fefa12667d8adca75811b] ASoC: Intel: avs: i2s_test: Remove redundant dapm routes # good: [21fa98f4197bb3365dda1417708b318f403c13c1] ASoC: sun8i-codec: Implement jack and accessory detection # good: [cee28113db17f0de58df0eaea4e2756c404ee01f] ASoC: dmaengine_pcm: Allow passing component name via config # good: [aad6b35290f52639d3601063d33d9621c0948a04] regmap: maple: Remove second semicolon # good: [e6913c6ef83c80aa7569c9e08204542222fbf542] ASoC: codecs: ES8326: Delete unused REG_SUPPLY # good: [0c5f77f4eaef8ed9fe752d21f40ac471dd511cfc] dt-bindings: regulator: qcom,usb-vbus-regulator: Add PM7250B compatible # good: [ab470abe58c09b2fbe2c1478e67a904fd803e84f] regulator: rpi-panel-attiny: convert to use maple tree register cache git bisect start 'c0b832517f627ead3388c6f0c74e8ac10ad5774b' '0fc83069bcaee78f60b8511d9453a9441963a072' 'ba5206881843e16b74a07c37970dcc44d22f8f6f' '64fe73d10323e399b2e8eb5407390bcb302a046c' 'bb77c99ee6d3d704086acf141d3ec92601747809' 'e64d3b6fc9a388d7dc516668651cf4404bffec9b' '57ad033ce09d4d0c866ac558fc3c4cf53cfb2599' '7b5f2072657a9041cbaf4ba139f672be11694ca3' 'a5bef84422eb066ee8fa5c13960657a79b3cc1e7' '29580cd7b9c6f975e88597ca66a001b16b97bae9' 'ea60ab95723f5738e7737b56dda95e6feefa5b50' 'c0a3873b9938bfaa77bd337cad33266a50a6583f' '559aebe45a054a479fdbd2a3dfba999ffd73cc9d' 'd5449432f794e75cd4f5e46bc33bfe6ce20b657d' '7b95ee0db7e0a7f99077f1b926323c7bf0d2e8f8' 'ea5fee227ff3dae209062ac9544906debe1e9ac1' '4ed0915f5bc4bcc81bca783a5b984f3d81e9764e' '59ffeb15b2f7b44cf934fd778dc0d98a35aa6a84' '1e90a846493c716e3e6b4d901fc0844e9eea6430' '61cafaeab5bca2d3e6a68ee8fa92b5c10b8610ca' '9b163e0d330debbf7dcc14b2c3e2dc19a3b50a1d' 'b340f56a74b62d8ce8617650c8ab4a26c87ba5c5' 'bdeef5dcea6b164f4bd614655821b1ef12ebec9a' '885dd75f41f9fff5b277bc6ab28ad798f98a37b4' '10402419f2d60890525f590b54d0eaec3de0d87a' '9855f05e553637f05494cf47a3154cbf9a5cfc67' '5f39231888c63f0a7708abc86b51b847476379d8' '5edeb7d312628961046eec9b26a7e72f44baf846' 'c14445bdcb98feddf9afaeb05e6193cc1f8eec1a' 'a39111b1cf0864b1782f30f9a1fa65260d057327' 'b5867a5c0d7a6bf36f59f3d472c7aed33ca4d02c' '60c10c678b582d41532fefa12667d8adca75811b' '21fa98f4197bb3365dda1417708b318f403c13c1' 'cee28113db17f0de58df0eaea4e2756c404ee01f' 'aad6b35290f52639d3601063d33d9621c0948a04' 'e6913c6ef83c80aa7569c9e08204542222fbf542' '0c5f77f4eaef8ed9fe752d21f40ac471dd511cfc' 'ab470abe58c09b2fbe2c1478e67a904fd803e84f' # bad: [c0b832517f627ead3388c6f0c74e8ac10ad5774b] Add linux-next specific files for 20240402 git bisect bad c0b832517f627ead3388c6f0c74e8ac10ad5774b # bad: [784b758e641c4b36be7ef8ab585bea834099b030] Merge branch 'for-linux-next' of https://gitlab.freedesktop.org/drm/misc/kernel.git git bisect bad 784b758e641c4b36be7ef8ab585bea834099b030 # good: [8b8b4dca2ddd82d3ae7e2a6a2fc7d49e511ceae7] Merge branch 'dev' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat.git git bisect good 8b8b4dca2ddd82d3ae7e2a6a2fc7d49e511ceae7 # good: [2c20b30ed316f5cb8773e5f99c02cd997f2374b7] Merge branch 'main' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git git bisect good 2c20b30ed316f5cb8773e5f99c02cd997f2374b7 # good: [e1191745c053b07a2e7364f8b95cda470f03cbbe] Merge branch 'nand/next' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git git bisect good e1191745c053b07a2e7364f8b95cda470f03cbbe # good: [6e3fdedcf0bc03c852d9fdbb5443f1e43103195f] drm/edid: Add a function to match EDID with identity git bisect good 6e3fdedcf0bc03c852d9fdbb5443f1e43103195f # bad: [4d15125d7fe637f401e64e33c99513adf6586fdd] drm: Switch DRM_DISPLAY_DP_AUX_BUS to depends on git bisect bad 4d15125d7fe637f401e64e33c99513adf6586fdd # good: [0b45921c2a8831834a5f8a52ddd0b25b5b1c6faf] drm/panthor: Don't use virt_to_pfn() git bisect good 0b45921c2a8831834a5f8a52ddd0b25b5b1c6faf # good: [462a7c0f8e3f833e5ca3dd3f427882b60b3f38e9] drm/panthor: Fix wrong kernel-doc format in the uAPI header git bisect good 462a7c0f8e3f833e5ca3dd3f427882b60b3f38e9 # good: [4d66d841a72557053fa44f9b6ebf09cf78223ed3] drm/display: Make DisplayPort AUX Chardev Kconfig name consistent git bisect good 4d66d841a72557053fa44f9b6ebf09cf78223ed3 # good: [d674858ff979550a0e97b4ac766f2640f0d9d7e7] drm/display: Make all helpers visible and switch to depends on git bisect good d674858ff979550a0e97b4ac766f2640f0d9d7e7 # bad: [e075e496f516bf92bc0cbaf94d64e8d4a6b58321] drm: Switch DRM_DISPLAY_HELPER to depends on git bisect bad e075e496f516bf92bc0cbaf94d64e8d4a6b58321 # bad: [c0e0f139354c01e0213204e4a96e7076e5a3e396] drm: Make drivers depends on DRM_DW_HDMI git bisect bad c0e0f139354c01e0213204e4a96e7076e5a3e396 # first bad commit: [c0e0f139354c01e0213204e4a96e7076e5a3e396] drm: Make drivers depends on DRM_DW_HDMI I'm also seeing similar problems on sun50i-h5-libretech-all-h3-cc which bisected to the same commit, and on imx6dl-udoo and imx6q-udoo with multi_v7_defconfig which I didn't run bisects for. I didn't fully check all the boards. The change introduces a new dependency on DRM_DW_HDMI to the various drivers but I'm not seeing any defconfig updates which turn that option anywhere so it's not clear how this is expected to avoid regressing the defconfig behaviours unless I'm missing something?
Hi, Am Dienstag, 2. April 2024, 17:43:41 CEST schrieb Mark Brown: > On Wed, Mar 27, 2024 at 11:57:02AM +0100, Maxime Ripard 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] > > This has landed in -next and appears to be causing breakage for several > platforms using these devices. For example I'm seeing the HDMI fail to > probe on sun50i-a64-pin64-plus with arm64 defconfig, the DT kselftest > result isn't terribly informative but it can be seen here: > [snip] > > The change introduces a new dependency on DRM_DW_HDMI to the various > drivers but I'm not seeing any defconfig updates which turn that option > anywhere so it's not clear how this is expected to avoid regressing the > defconfig behaviours unless I'm missing something? I noticed the same. From what I can tell, several drivers (e.g. imx8mp and imx6q) now depend on DRM_DW_HDMI without anybody actually selecting it. This results in a dependency which can not be enabled manually. Reverting restores a working driver. Best regards, Alexander
On Tue, Apr 02, 2024 at 04:43:46PM +0100, Mark Brown wrote: > On Wed, Mar 27, 2024 at 11:57:02AM +0100, Maxime Ripard 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] > This has landed in -next and appears to be causing breakage for several > platforms using these devices. For example I'm seeing the HDMI fail to > probe on sun50i-a64-pin64-plus with arm64 defconfig, the DT kselftest > result isn't terribly informative but it can be seen here: It has now been *three* weeks that this breakage has sat unaddressed in -next, this has been making my CI for -next unusable. Given that getting the defconfig bits of this merged appears somwhow unreasonably difficult can we please drop these changes from the DRM tree until some strategy for getting everything merged is put into place?
On Tue, 23 Apr 2024, Mark Brown <broonie@kernel.org> wrote: > On Tue, Apr 02, 2024 at 04:43:46PM +0100, Mark Brown wrote: >> On Wed, Mar 27, 2024 at 11:57:02AM +0100, Maxime Ripard 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] > >> This has landed in -next and appears to be causing breakage for several >> platforms using these devices. For example I'm seeing the HDMI fail to >> probe on sun50i-a64-pin64-plus with arm64 defconfig, the DT kselftest >> result isn't terribly informative but it can be seen here: > > It has now been *three* weeks that this breakage has sat unaddressed in > -next, this has been making my CI for -next unusable. Given that > getting the defconfig bits of this merged appears somwhow unreasonably > difficult can we please drop these changes from the DRM tree until some > strategy for getting everything merged is put into place? This is what's being done [1]. BR, Jani. [1] https://lore.kernel.org/r/cover.1713780345.git.geert+renesas@glider.be
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.
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@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202403262127.kZkttfNz-lkp@intel.com/ Signed-off-by: Maxime Ripard <mripard@kernel.org> --- 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(-)