aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorJeffy Chen <jeffy.chen@rock-chips.com>2018-03-02 12:57:53 -0500
committerHeiko Stuebner <heiko@sntech.de>2018-03-08 11:32:52 -0500
commite45df2643832867c929f9c77fb17a21e12907b5c (patch)
tree9bf7edf2ceb8388edd73b7d0c0a5eda8417654c0 /drivers
parent9aecbc45a3ceefe57f27ddc232e26e08513c9137 (diff)
drm/rockchip: dw-mipi-dsi: Fix connector and encoder cleanup.
In bind()'s error handling path call destroy functions instead of cleanup functions for encoder and connector and reorder to match how is called in bind(). In unbind() call the connector and encoder destroy functions. Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com> Signed-off-by: Thierry Escande <thierry.escande@collabora.com> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> Signed-off-by: Heiko Stuebner <heiko@sntech.de> Link: https://patchwork.freedesktop.org/patch/msgid/20180302175757.28192-2-enric.balletbo@collabora.com
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/rockchip/dw-mipi-dsi.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c
index 591953cbdd18..d53d5a09547f 100644
--- a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c
+++ b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c
@@ -1302,8 +1302,8 @@ static int dw_mipi_dsi_bind(struct device *dev, struct device *master,
1302err_mipi_dsi_host: 1302err_mipi_dsi_host:
1303 mipi_dsi_host_unregister(&dsi->dsi_host); 1303 mipi_dsi_host_unregister(&dsi->dsi_host);
1304err_cleanup: 1304err_cleanup:
1305 drm_encoder_cleanup(&dsi->encoder); 1305 dsi->connector.funcs->destroy(&dsi->connector);
1306 drm_connector_cleanup(&dsi->connector); 1306 dsi->encoder.funcs->destroy(&dsi->encoder);
1307err_pllref: 1307err_pllref:
1308 clk_disable_unprepare(dsi->pllref_clk); 1308 clk_disable_unprepare(dsi->pllref_clk);
1309 return ret; 1309 return ret;
@@ -1316,6 +1316,10 @@ static void dw_mipi_dsi_unbind(struct device *dev, struct device *master,
1316 1316
1317 mipi_dsi_host_unregister(&dsi->dsi_host); 1317 mipi_dsi_host_unregister(&dsi->dsi_host);
1318 pm_runtime_disable(dev); 1318 pm_runtime_disable(dev);
1319
1320 dsi->connector.funcs->destroy(&dsi->connector);
1321 dsi->encoder.funcs->destroy(&dsi->encoder);
1322
1319 clk_disable_unprepare(dsi->pllref_clk); 1323 clk_disable_unprepare(dsi->pllref_clk);
1320} 1324}
1321 1325