[RFCv1 37/42] drm/omap: panel-dsi-cm: fix remove()

Sebastian Reichel sebastian.reichel at collabora.com
Sun Nov 17 02:40:23 UTC 2019


The remove function should disable the panel by
calling the unprepare() function before the panel
is disconnected from MIPI bus instead of trying
to reset it.

Signed-off-by: Sebastian Reichel <sebastian.reichel at collabora.com>
---
 drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
index f607b3dfa31f..90132d1d1f5d 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
@@ -604,6 +604,8 @@ static int dsicm_remove(struct mipi_dsi_device *dsi)
 
 	dev_dbg(&dsi->dev, "remove\n");
 
+	drm_panel_unprepare(&ddata->panel);
+
 	mipi_dsi_detach(dsi);
 
 	drm_panel_remove(&ddata->panel);
@@ -613,9 +615,6 @@ static int dsicm_remove(struct mipi_dsi_device *dsi)
 	if (ddata->extbldev)
 		put_device(&ddata->extbldev->dev);
 
-	/* reset, to be sure that the panel is in a valid state */
-	dsicm_hw_reset(ddata);
-
 	return 0;
 }
 
-- 
2.24.0



More information about the dri-devel mailing list