Re: [PATCH 04/11] drm/panel: merge the drm_kms_helper module into the drm module
From: Maxime Ripard
Date: Mon Aug 17 2026 - 04:33:47 EST
On Fri, Aug 14, 2026 at 04:05:52PM +0200, Luca Ceresoli wrote:
> Work is in progress to make every drm_panel automatically create a
> panel_bridge [0][1].
>
> This requires the panel code to call the drm_panel_bridge APIs. However
> this would create a circular dependency loop on modular builds:
>
> __devm_drm_panel_alloc() [drm]
> -> drm_panel_bridge_add() [drm_kms_helper]
> -> drm_bridge.c APIs [drm]
>
> Moving just the panel_brige.o file from [drm_kms_helper] to [drm] does not
> work because the panel bridge code uses the drm_atomic_helper and
> drm_probe_helper which add further dependencies on symbols in the
> [drm_kms_helper] module.
>
> So take a simple approach, and move the entire drm_kms_helper into the
> [drm] module.
>
> Link: https://lore.kernel.org/all/emuj2innmp6zmzd7pyakqzjqpdzhly6qfhakya3ydwmd63pl26@5jwxaidpikjw/ [0]
> Link: https://lore.kernel.org/lkml/20250206-hotplug-drm-bridge-v6-8-9d6f2c9c3058@xxxxxxxxxxx/ [1]
> Signed-off-by: Luca Ceresoli <luca.ceresoli@xxxxxxxxxxx>
So, that's not an option. However, why do we need drm_panel_bridge_add()
after this work is done? If we want to create a bridge for every panel,
then the bridge implementation can live in drm_panel.c, which is part of
the drm module.
And we'd essentially move drm_panel_bridge into drm_panel.c, and make it
private.
Maxime
Attachment:
signature.asc
Description: PGP signature