[PATCH] drm/bridge: Move devm_drm_of_get_bridge to bridge/panel.c

Maxime Ripard maxime at cerno.tech
Wed Sep 22 08:22:23 UTC 2021


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 <sfr at canb.auug.org.au>
> > Signed-off-by: Maxime Ripard <maxime at cerno.tech>
> 
> 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 <drm/drm_connector.h>
>  #include <drm/drm_encoder.h>
>  #include <drm/drm_modeset_helper_vtables.h>
> +#include <drm/drm_of.h>
>  #include <drm/drm_panel.h>
>  #include <drm/drm_print.h>
>  #include <drm/drm_probe_helper.h>
> 
> 
> I obviously also ran into the circular dependency-issue right now,
> so with the above addition:
> 
> Tested-by: Heiko Stuebner <heiko at sntech.de>

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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20210922/b7f1ac18/attachment.sig>


More information about the dri-devel mailing list