summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOsama Abdelkader <osama.abdelkader@gmail.com>2026-04-30 21:49:43 +0200
committerLuca Ceresoli <luca.ceresoli@bootlin.com>2026-05-19 10:34:42 +0200
commitb11a6cea91f2cec688936d591548bc5c1540c648 (patch)
tree0b2269cb82473d7b6a89a0faad7d1bab5bc90f64
parentdbc8fd7a03cbc0704e8e558a448015f620547a02 (diff)
downloadlinux-b11a6cea91f2cec688936d591548bc5c1540c648.tar.gz
linux-b11a6cea91f2cec688936d591548bc5c1540c648.zip
drm/bridge: chipone-icn6211: use devm_drm_bridge_add in dsi probe
Use devm_drm_bridge_add() so the bridge is released if probe fails after registration, and drop drm_bridge_remove() in chipone_dsi_probe. Signed-off-by: Osama Abdelkader <osama.abdelkader@gmail.com> Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Link: https://patch.msgid.link/20260430194944.78119-2-osama.abdelkader@gmail.com Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
-rw-r--r--drivers/gpu/drm/bridge/chipone-icn6211.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/drivers/gpu/drm/bridge/chipone-icn6211.c b/drivers/gpu/drm/bridge/chipone-icn6211.c
index 08775381b075..e5957917ad88 100644
--- a/drivers/gpu/drm/bridge/chipone-icn6211.c
+++ b/drivers/gpu/drm/bridge/chipone-icn6211.c
@@ -730,13 +730,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;
- return ret;
+ return chipone_dsi_attach(icn);
}
static int chipone_i2c_probe(struct i2c_client *client)
@@ -765,10 +763,7 @@ static int chipone_i2c_probe(struct i2c_client *client)
static void chipone_dsi_remove(struct mipi_dsi_device *dsi)
{
- struct chipone *icn = mipi_dsi_get_drvdata(dsi);
-
mipi_dsi_detach(dsi);
- drm_bridge_remove(&icn->bridge);
}
static const struct of_device_id chipone_of_match[] = {