Re: [PATCH v2] drm/bridge: chipone-icn6211: use devm_drm_bridge_add

From: Luca Ceresoli

Date: Thu Apr 23 2026 - 04:36:34 EST


On Tue Apr 14, 2026 at 8:05 PM CEST, Osama Abdelkader wrote:
> Use devm_drm_bridge_add() so the bridge is released if probe fails after
> registration, and drop drm_bridge_remove() from DSI remove.
>
> v2: devm_drm_bridge_add instead of drm_bridge_add + manual remove paths
>
> Signed-off-by: Osama Abdelkader <osama.abdelkader@xxxxxxxxx>
> ---
> drivers/gpu/drm/bridge/chipone-icn6211.c | 17 +++++++----------
> 1 file changed, 7 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/bridge/chipone-icn6211.c b/drivers/gpu/drm/bridge/chipone-icn6211.c
> index 5bee10c64265..4bc98c45f65f 100644
> --- a/drivers/gpu/drm/bridge/chipone-icn6211.c
> +++ b/drivers/gpu/drm/bridge/chipone-icn6211.c
> @@ -5,6 +5,7 @@
> */
>
> #include <drm/drm_atomic_helper.h>
> +#include <drm/drm_bridge.h>
> #include <drm/drm_of.h>
> #include <drm/drm_print.h>
> #include <drm/drm_mipi_dsi.h>
> @@ -730,12 +731,11 @@ static int chipone_dsi_probe(struct mipi_dsi_device *dsi)
>
> mipi_dsi_set_drvdata(dsi, icn);
>
> - drm_bridge_add(&icn->bridge);
> -
> - ret = chipone_dsi_attach(icn);
> + ret = devm_drm_bridge_add(dev, &icn->bridge);
> if (ret)
> - drm_bridge_remove(&icn->bridge);
> + return ret;
>
> + ret = chipone_dsi_attach(icn);
> return ret;
> }

This patch is doing two different things. This one is a code improvement...

> @@ -758,20 +758,17 @@ static int chipone_i2c_probe(struct i2c_client *client)
> dev_set_drvdata(dev, icn);
> i2c_set_clientdata(client, icn);
>
> - drm_bridge_add(&icn->bridge);
> + ret = devm_drm_bridge_add(dev, &icn->bridge);
> + if (ret)
> + return ret;
>
> ret = chipone_dsi_host_attach(icn);
> - if (ret)
> - drm_bridge_remove(&icn->bridge);
> return ret;
> }

...and this one is a bigfix. So they should be different patches, the fix
having Fixes + Cc stable (with fixes being before other patches in the
series).

Luca

--
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com