Hi, On 11/3/22 04:53, Javier Martinez Canillas wrote: > Hello Kieran, > > On 11/3/22 11:59, Kieran Bingham wrote: >> Hi Randy, >> >> Quoting Randy Dunlap (2022-11-03 06:06:45) >>> ping. I have verified (on linux-next-20221103) that this is still needed. >>> Thanks. >>> >>> On 10/18/22 11:18, Randy Dunlap wrote: >>>> When CONFIG_DRM_RCAR_DU=y and CONFIG_DRM_RCAR_MIPI_DSI=m, calls >>>> from the builtin driver to the mipi driver fail due to linker >>>> errors. >>>> Since the RCAR_MIPI_DSI driver is not always required, fix the >>>> build error by making DRM_RCAR_DU optionally depend on the >>>> RCAR_MIPI_DSI Kconfig symbol. This prevents the problematic >>>> kconfig combination without requiring that RCAR_MIPI_DSI always >>>> be enabled. >>>> >>>> aarch64-linux-ld: drivers/gpu/drm/rcar-du/rcar_du_crtc.o: in function `rcar_du_crtc_atomic_enable': >>>> rcar_du_crtc.c:(.text+0x3a18): undefined reference to `rcar_mipi_dsi_pclk_enable' >>>> aarch64-linux-ld: drivers/gpu/drm/rcar-du/rcar_du_crtc.o: in function `rcar_du_crtc_atomic_disable': >>>> rcar_du_crtc.c:(.text+0x47cc): undefined reference to `rcar_mipi_dsi_pclk_disable' >>>> >>>> Fixes: 957fe62d7d15 ("drm: rcar-du: Fix DSI enable & disable sequence") >>>> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> >>>> Cc: Tomi Valkeinen <tomi.valkeinen+renesas@xxxxxxxxxxxxxxxx> >>>> Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> >>>> Cc: Kieran Bingham <kieran.bingham+renesas@xxxxxxxxxxxxxxxx> >>>> Cc: LUU HOAI <hoai.luu.ub@xxxxxxxxxxx> >>>> Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx >>>> Cc: linux-renesas-soc@xxxxxxxxxxxxxxx >>>> Cc: David Airlie <airlied@xxxxxxxxx> >>>> Cc: Daniel Vetter <daniel@xxxxxxxx> >>>> --- >>>> drivers/gpu/drm/rcar-du/Kconfig | 1 + >>>> 1 file changed, 1 insertion(+) >>>> >>>> diff -- a/drivers/gpu/drm/rcar-du/Kconfig b/drivers/gpu/drm/rcar-du/Kconfig >>>> --- a/drivers/gpu/drm/rcar-du/Kconfig >>>> +++ b/drivers/gpu/drm/rcar-du/Kconfig >>>> @@ -4,6 +4,7 @@ config DRM_RCAR_DU >>>> depends on DRM && OF >>>> depends on ARM || ARM64 >>>> depends on ARCH_RENESAS || COMPILE_TEST >>>> + depends on DRM_RCAR_MIPI_DSI || DRM_RCAR_MIPI_DSI=n >> >> Please forgive my ignorance, but I don't understand how this works. >> Could you explain what this is doing please? >> >> I know you've explained above that it fixes it to optionally depend on >> DRM_RCAR_MIPI_DSI ... but it's not making sense to me. >> >> To me - this is saying we depend on DRM_RCAR_MIPI_DSI being enabled, or >> not being enabled ... ? Which is like saying if (0 || 1) ? >> >> I'm guessing I'm missing something obvious :-S It's kconfig tristate symbols (y/n/m), not boolean. :) > What this Kconfig expression is saying is that it depends on DRM_RCAR_MIPI_DSI=y > if DRM_RCAR_DU=y and DRM_RCAR_MIPI_DSI=m if DRM_RCAR_DU=m. But that the it can > also be satisfied if is not set DRM_RCAR_MIPI_DSI. > > This is usually used to make sure that you don't end with a configuration where > DRM_RCAR_MIPI_DSI=y and DRM_RCAR_DU=m or DRM_RCAR_MIPI_DSI=m and DRM_RCAR_DU=y. > > Randy, I think that it's more idiomatic though to it express as following: > > depends on DRM_RCAR_MIPI_DSI || !DRM_RCAR_MIPI_DSI I count just over 200 of each idiom (but my grep strings could be too crude). I guess that you want a v2 with that change? Thanks. -- ~Randy