]> www.infradead.org Git - users/jedix/linux-maple.git/commit
drm/bridge: imx8*-ldb: convert to devm_drm_bridge_alloc() API
authorLuca Ceresoli <luca.ceresoli@bootlin.com>
Thu, 24 Apr 2025 18:59:38 +0000 (20:59 +0200)
committerLouis Chauvet <louis.chauvet@bootlin.com>
Tue, 29 Apr 2025 09:21:26 +0000 (11:21 +0200)
commite74b84cd83962e357329a695ba348b3dfe37395c
tree13d7160782418a30925be505d73c4271da577123
parent9545c91ed75ff65e114761a7729de0e1b440aec6
drm/bridge: imx8*-ldb: convert to devm_drm_bridge_alloc() API

This is the new API for allocating DRM bridges.

These two drivers are tangled together by the ldb_add_bridge_helper(), so
they are converted at once.

They also have a similar design, each embedding an array of channels in
their main struct, and each channel embeds a drm_bridge. This prevents
dynamic, refcount-based deallocation of the bridges.

To make the new, dynamic bridge allocation possible:

 * change the array of channels into an array of channel pointers
 * allocate each channel using devm_drm_bridge_alloc()
 * adapt ldb_add_bridge_helper() to not set the funcs pointer
   (now done by devm_drm_bridge_alloc())
 * adapt the code wherever using the channels

Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Acked-by: Liu Ying <victor.liu@nxp.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250424-drm-bridge-convert-to-alloc-api-v2-31-8f91a404d86b@bootlin.com
Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
drivers/gpu/drm/bridge/imx/imx-ldb-helper.c
drivers/gpu/drm/bridge/imx/imx-ldb-helper.h
drivers/gpu/drm/bridge/imx/imx8qm-ldb.c
drivers/gpu/drm/bridge/imx/imx8qxp-ldb.c