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?

Attachment: signature.asc
Description: PGP signature

Reply via email to