On Mon, Sep 20, 2021 at 10:49:55PM +0200, Heiko Stübner wrote: > Hi Maxime, > > Am Freitag, 17. September 2021, 20:09:25 CEST schrieb Maxime Ripard: > > By depending on devm_drm_panel_bridge_add(), devm_drm_of_get_bridge() > > introduces a circular dependency between the modules drm (where > > devm_drm_of_get_bridge() ends up) and drm_kms_helper (where > > devm_drm_panel_bridge_add() is). > > > > Fix this by moving devm_drm_of_get_bridge() to bridge/panel.c and thus > > drm_kms_helper. > > > > Fixes: 87ea95808d53 ("drm/bridge: Add a function to abstract away panels") > > Reported-by: Stephen Rothwell > > Signed-off-by: Maxime Ripard > > I started with drm-misc-next at > - e46ad85acd90 ("MAINTAINERS: add Andrey as the DRM GPU scheduler maintainer") > > with your patch on top, I end up with: > > make[1]: Verzeichnis „/home/devel/hstuebner/02_drm/linux/_build-arm64“ wird betreten > GEN Makefile > CALL ../scripts/atomic/check-atomics.sh > CALL ../scripts/checksyscalls.sh > CC [M] drivers/gpu/drm/bridge/panel.o > CC [M] drivers/gpu/drm/drm_bridge.o > LD [M] drivers/gpu/drm/drm.o > ../drivers/gpu/drm/bridge/panel.c: In function ‘devm_drm_of_get_bridge’: > ../drivers/gpu/drm/bridge/panel.c:359:8: error: implicit declaration of function ‘drm_of_find_panel_or_bridge’ [-Werror=implicit-function-declaration] > 359 | ret = drm_of_find_panel_or_bridge(np, port, endpoint, > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ > > adding the following makes it compile again: > diff --git a/drivers/gpu/drm/bridge/panel.c b/drivers/gpu/drm/bridge/panel.c > index 285a079cdef5..b32295abd9e7 100644 > --- a/drivers/gpu/drm/bridge/panel.c > +++ b/drivers/gpu/drm/bridge/panel.c > @@ -9,6 +9,7 @@ > #include > #include > #include > +#include > #include > #include > #include > > > I obviously also ran into the circular dependency-issue right now, > so with the above addition: > > Tested-by: Heiko Stuebner I'm not sure how I missed that, thanks for testing :) I've just pushed the patch with your fix to drm-misc-fixes Maxime