Use the managed MIPI DSI attach helper in JDI, Sharp, Sony, Visionox and
Leadtek panel drivers and drop the corresponding manual detach calls from
remove paths.

Signed-off-by: Osama Abdelkader <[email protected]>

v2:
- break long description lines.
- add Signed-off-by tag
---
 drivers/gpu/drm/panel/panel-jdi-fhd-r63452.c           | 8 +-------
 drivers/gpu/drm/panel/panel-jdi-lt070me05000.c         | 8 +-------
 drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c     | 8 +-------
 drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c     | 8 +-------
 drivers/gpu/drm/panel/panel-sharp-ls043t1le01.c        | 7 +------
 drivers/gpu/drm/panel/panel-sharp-ls060t1sx01.c        | 8 +-------
 drivers/gpu/drm/panel/panel-sony-td4353-jdi.c          | 8 +-------
 drivers/gpu/drm/panel/panel-sony-tulip-truly-nt35521.c | 8 +-------
 drivers/gpu/drm/panel/panel-visionox-r66451.c          | 8 +-------
 drivers/gpu/drm/panel/panel-visionox-rm69299.c         | 4 +---
 10 files changed, 10 insertions(+), 65 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-jdi-fhd-r63452.c 
b/drivers/gpu/drm/panel/panel-jdi-fhd-r63452.c
index cbe354b51bce..ce299160d3ab 100644
--- a/drivers/gpu/drm/panel/panel-jdi-fhd-r63452.c
+++ b/drivers/gpu/drm/panel/panel-jdi-fhd-r63452.c
@@ -202,7 +202,7 @@ static int jdi_fhd_r63452_probe(struct mipi_dsi_device *dsi)
 
        drm_panel_add(&ctx->panel);
 
-       ret = mipi_dsi_attach(dsi);
+       ret = devm_mipi_dsi_attach(&dsi->dev, dsi);
        if (ret < 0) {
                dev_err(dev, "Failed to attach to DSI host: %d\n", ret);
                return ret;
@@ -214,12 +214,6 @@ static int jdi_fhd_r63452_probe(struct mipi_dsi_device 
*dsi)
 static void jdi_fhd_r63452_remove(struct mipi_dsi_device *dsi)
 {
        struct jdi_fhd_r63452 *ctx = mipi_dsi_get_drvdata(dsi);
-       int ret;
-
-       ret = mipi_dsi_detach(dsi);
-       if (ret < 0)
-               dev_err(&dsi->dev, "Failed to detach from DSI host: %d\n", ret);
-
        drm_panel_remove(&ctx->panel);
 }
 
diff --git a/drivers/gpu/drm/panel/panel-jdi-lt070me05000.c 
b/drivers/gpu/drm/panel/panel-jdi-lt070me05000.c
index 01bd748aecec..d9cba45eb729 100644
--- a/drivers/gpu/drm/panel/panel-jdi-lt070me05000.c
+++ b/drivers/gpu/drm/panel/panel-jdi-lt070me05000.c
@@ -380,7 +380,7 @@ static int jdi_panel_probe(struct mipi_dsi_device *dsi)
        if (ret < 0)
                return ret;
 
-       ret = mipi_dsi_attach(dsi);
+       ret = devm_mipi_dsi_attach(&dsi->dev, dsi);
        if (ret < 0) {
                jdi_panel_del(jdi);
                return ret;
@@ -392,12 +392,6 @@ static int jdi_panel_probe(struct mipi_dsi_device *dsi)
 static void jdi_panel_remove(struct mipi_dsi_device *dsi)
 {
        struct jdi_panel *jdi = mipi_dsi_get_drvdata(dsi);
-       int ret;
-
-       ret = mipi_dsi_detach(dsi);
-       if (ret < 0)
-               dev_err(&dsi->dev, "failed to detach from DSI host: %d\n",
-                       ret);
 
        jdi_panel_del(jdi);
 }
diff --git a/drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c 
b/drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c
index 0856df5a6ee2..b660d7055810 100644
--- a/drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c
+++ b/drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c
@@ -585,7 +585,7 @@ static int ltk050h3146w_probe(struct mipi_dsi_device *dsi)
 
        drm_panel_add(&ctx->panel);
 
-       ret = mipi_dsi_attach(dsi);
+       ret = devm_mipi_dsi_attach(&dsi->dev, dsi);
        if (ret < 0) {
                dev_err(dev, "mipi_dsi_attach failed: %d\n", ret);
                drm_panel_remove(&ctx->panel);
@@ -598,12 +598,6 @@ static int ltk050h3146w_probe(struct mipi_dsi_device *dsi)
 static void ltk050h3146w_remove(struct mipi_dsi_device *dsi)
 {
        struct ltk050h3146w *ctx = mipi_dsi_get_drvdata(dsi);
-       int ret;
-
-       ret = mipi_dsi_detach(dsi);
-       if (ret < 0)
-               dev_err(&dsi->dev, "Failed to detach from DSI host: %d\n", ret);
-
        drm_panel_remove(&ctx->panel);
 }
 
diff --git a/drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c 
b/drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c
index 7f19fd5b8060..6ec6f81877aa 100644
--- a/drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c
+++ b/drivers/gpu/drm/panel/panel-leadtek-ltk500hd1829.c
@@ -651,7 +651,7 @@ static int ltk500hd1829_probe(struct mipi_dsi_device *dsi)
 
        drm_panel_add(&ctx->panel);
 
-       ret = mipi_dsi_attach(dsi);
+       ret = devm_mipi_dsi_attach(&dsi->dev, dsi);
        if (ret < 0) {
                dev_err(dev, "mipi_dsi_attach failed: %d\n", ret);
                drm_panel_remove(&ctx->panel);
@@ -664,12 +664,6 @@ static int ltk500hd1829_probe(struct mipi_dsi_device *dsi)
 static void ltk500hd1829_remove(struct mipi_dsi_device *dsi)
 {
        struct ltk500hd1829 *ctx = mipi_dsi_get_drvdata(dsi);
-       int ret;
-
-       ret = mipi_dsi_detach(dsi);
-       if (ret < 0)
-               dev_err(&dsi->dev, "failed to detach from DSI host: %d\n", ret);
-
        drm_panel_remove(&ctx->panel);
 }
 
diff --git a/drivers/gpu/drm/panel/panel-sharp-ls043t1le01.c 
b/drivers/gpu/drm/panel/panel-sharp-ls043t1le01.c
index 989b030ea22d..11615551e8a6 100644
--- a/drivers/gpu/drm/panel/panel-sharp-ls043t1le01.c
+++ b/drivers/gpu/drm/panel/panel-sharp-ls043t1le01.c
@@ -244,7 +244,7 @@ static int sharp_nt_panel_probe(struct mipi_dsi_device *dsi)
        if (ret < 0)
                return ret;
 
-       ret = mipi_dsi_attach(dsi);
+       ret = devm_mipi_dsi_attach(&dsi->dev, dsi);
        if (ret < 0) {
                sharp_nt_panel_del(sharp_nt);
                return ret;
@@ -256,11 +256,6 @@ static int sharp_nt_panel_probe(struct mipi_dsi_device 
*dsi)
 static void sharp_nt_panel_remove(struct mipi_dsi_device *dsi)
 {
        struct sharp_nt_panel *sharp_nt = mipi_dsi_get_drvdata(dsi);
-       int ret;
-
-       ret = mipi_dsi_detach(dsi);
-       if (ret < 0)
-               dev_err(&dsi->dev, "failed to detach from DSI host: %d\n", ret);
 
        sharp_nt_panel_del(sharp_nt);
 }
diff --git a/drivers/gpu/drm/panel/panel-sharp-ls060t1sx01.c 
b/drivers/gpu/drm/panel/panel-sharp-ls060t1sx01.c
index 0456f3d705e7..236d45121a44 100644
--- a/drivers/gpu/drm/panel/panel-sharp-ls060t1sx01.c
+++ b/drivers/gpu/drm/panel/panel-sharp-ls060t1sx01.c
@@ -235,7 +235,7 @@ static int sharp_ls060_probe(struct mipi_dsi_device *dsi)
 
        drm_panel_add(&ctx->panel);
 
-       ret = mipi_dsi_attach(dsi);
+       ret = devm_mipi_dsi_attach(&dsi->dev, dsi);
        if (ret < 0) {
                dev_err(dev, "Failed to attach to DSI host: %d\n", ret);
                drm_panel_remove(&ctx->panel);
@@ -248,12 +248,6 @@ static int sharp_ls060_probe(struct mipi_dsi_device *dsi)
 static void sharp_ls060_remove(struct mipi_dsi_device *dsi)
 {
        struct sharp_ls060 *ctx = mipi_dsi_get_drvdata(dsi);
-       int ret;
-
-       ret = mipi_dsi_detach(dsi);
-       if (ret < 0)
-               dev_err(&dsi->dev, "Failed to detach from DSI host: %d\n", ret);
-
        drm_panel_remove(&ctx->panel);
 }
 
diff --git a/drivers/gpu/drm/panel/panel-sony-td4353-jdi.c 
b/drivers/gpu/drm/panel/panel-sony-td4353-jdi.c
index a14c86c60d19..08e4adf9e0f0 100644
--- a/drivers/gpu/drm/panel/panel-sony-td4353-jdi.c
+++ b/drivers/gpu/drm/panel/panel-sony-td4353-jdi.c
@@ -216,7 +216,7 @@ static int sony_td4353_jdi_probe(struct mipi_dsi_device 
*dsi)
 
        drm_panel_add(&ctx->panel);
 
-       ret = mipi_dsi_attach(dsi);
+       ret = devm_mipi_dsi_attach(&dsi->dev, dsi);
        if (ret < 0) {
                dev_err(dev, "Failed to attach to DSI host: %d\n", ret);
                drm_panel_remove(&ctx->panel);
@@ -229,12 +229,6 @@ static int sony_td4353_jdi_probe(struct mipi_dsi_device 
*dsi)
 static void sony_td4353_jdi_remove(struct mipi_dsi_device *dsi)
 {
        struct sony_td4353_jdi *ctx = mipi_dsi_get_drvdata(dsi);
-       int ret;
-
-       ret = mipi_dsi_detach(dsi);
-       if (ret < 0)
-               dev_err(&dsi->dev, "Failed to detach from DSI host: %d\n", ret);
-
        drm_panel_remove(&ctx->panel);
 }
 
diff --git a/drivers/gpu/drm/panel/panel-sony-tulip-truly-nt35521.c 
b/drivers/gpu/drm/panel/panel-sony-tulip-truly-nt35521.c
index 216a6ad8696e..5ce8b1cdf024 100644
--- a/drivers/gpu/drm/panel/panel-sony-tulip-truly-nt35521.c
+++ b/drivers/gpu/drm/panel/panel-sony-tulip-truly-nt35521.c
@@ -474,7 +474,7 @@ static int truly_nt35521_probe(struct mipi_dsi_device *dsi)
 
        drm_panel_add(&ctx->panel);
 
-       ret = mipi_dsi_attach(dsi);
+       ret = devm_mipi_dsi_attach(&dsi->dev, dsi);
        if (ret < 0) {
                dev_err(dev, "Failed to attach to DSI host: %d\n", ret);
                drm_panel_remove(&ctx->panel);
@@ -487,12 +487,6 @@ static int truly_nt35521_probe(struct mipi_dsi_device *dsi)
 static void truly_nt35521_remove(struct mipi_dsi_device *dsi)
 {
        struct truly_nt35521 *ctx = mipi_dsi_get_drvdata(dsi);
-       int ret;
-
-       ret = mipi_dsi_detach(dsi);
-       if (ret < 0)
-               dev_err(&dsi->dev, "Failed to detach from DSI host: %d\n", ret);
-
        drm_panel_remove(&ctx->panel);
 }
 
diff --git a/drivers/gpu/drm/panel/panel-visionox-r66451.c 
b/drivers/gpu/drm/panel/panel-visionox-r66451.c
index 690cccedd438..40bbc3ea6958 100644
--- a/drivers/gpu/drm/panel/panel-visionox-r66451.c
+++ b/drivers/gpu/drm/panel/panel-visionox-r66451.c
@@ -306,7 +306,7 @@ static int visionox_r66451_probe(struct mipi_dsi_device 
*dsi)
 
        drm_panel_add(&ctx->panel);
 
-       ret = mipi_dsi_attach(dsi);
+       ret = devm_mipi_dsi_attach(&dsi->dev, dsi);
        if (ret < 0) {
                dev_err(dev, "Failed to attach to DSI host: %d\n", ret);
                drm_panel_remove(&ctx->panel);
@@ -318,12 +318,6 @@ static int visionox_r66451_probe(struct mipi_dsi_device 
*dsi)
 static void visionox_r66451_remove(struct mipi_dsi_device *dsi)
 {
        struct visionox_r66451 *ctx = mipi_dsi_get_drvdata(dsi);
-       int ret;
-
-       ret = mipi_dsi_detach(dsi);
-       if (ret < 0)
-               dev_err(&dsi->dev, "Failed to detach DSI host: %d\n", ret);
-
        drm_panel_remove(&ctx->panel);
 }
 
diff --git a/drivers/gpu/drm/panel/panel-visionox-rm69299.c 
b/drivers/gpu/drm/panel/panel-visionox-rm69299.c
index 50f8a84537ca..7a60b1d436df 100644
--- a/drivers/gpu/drm/panel/panel-visionox-rm69299.c
+++ b/drivers/gpu/drm/panel/panel-visionox-rm69299.c
@@ -388,7 +388,7 @@ static int visionox_rm69299_probe(struct mipi_dsi_device 
*dsi)
        dsi->format = MIPI_DSI_FMT_RGB888;
        dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_LPM |
                          MIPI_DSI_CLOCK_NON_CONTINUOUS;
-       ret = mipi_dsi_attach(dsi);
+       ret = devm_mipi_dsi_attach(&dsi->dev, dsi);
        if (ret < 0) {
                dev_err(dev, "dsi attach failed ret = %d\n", ret);
                goto err_dsi_attach;
@@ -404,8 +404,6 @@ static int visionox_rm69299_probe(struct mipi_dsi_device 
*dsi)
 static void visionox_rm69299_remove(struct mipi_dsi_device *dsi)
 {
        struct visionox_rm69299 *ctx = mipi_dsi_get_drvdata(dsi);
-
-       mipi_dsi_detach(ctx->dsi);
        drm_panel_remove(&ctx->panel);
 }
 
-- 
2.43.0

Reply via email to