]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/bridge: chipone-icn6211: use devm_drm_bridge_add in dsi probe
authorOsama Abdelkader <osama.abdelkader@gmail.com>
Thu, 30 Apr 2026 19:49:43 +0000 (21:49 +0200)
committerLuca Ceresoli <luca.ceresoli@bootlin.com>
Tue, 19 May 2026 08:34:42 +0000 (10:34 +0200)
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>
drivers/gpu/drm/bridge/chipone-icn6211.c

index 08775381b0758b108da7630b58ff6a77b43db6cc..e5957917ad88f295a013d29a4bb27b2349728e63 100644 (file)
@@ -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[] = {