|
@@ -1302,8 +1302,8 @@ static int dw_mipi_dsi_bind(struct device *dev, struct device *master,
|
|
|
err_mipi_dsi_host:
|
|
|
mipi_dsi_host_unregister(&dsi->dsi_host);
|
|
|
err_cleanup:
|
|
|
- drm_encoder_cleanup(&dsi->encoder);
|
|
|
- drm_connector_cleanup(&dsi->connector);
|
|
|
+ dsi->connector.funcs->destroy(&dsi->connector);
|
|
|
+ dsi->encoder.funcs->destroy(&dsi->encoder);
|
|
|
err_pllref:
|
|
|
clk_disable_unprepare(dsi->pllref_clk);
|
|
|
return ret;
|
|
@@ -1316,6 +1316,10 @@ static void dw_mipi_dsi_unbind(struct device *dev, struct device *master,
|
|
|
|
|
|
mipi_dsi_host_unregister(&dsi->dsi_host);
|
|
|
pm_runtime_disable(dev);
|
|
|
+
|
|
|
+ dsi->connector.funcs->destroy(&dsi->connector);
|
|
|
+ dsi->encoder.funcs->destroy(&dsi->encoder);
|
|
|
+
|
|
|
clk_disable_unprepare(dsi->pllref_clk);
|
|
|
}
|
|
|
|