drm/rockchip: dw-mipi-dsi: Fix connector and encoder cleanup.
authorJeffy Chen <jeffy.chen@rock-chips.com>
Fri, 2 Mar 2018 17:57:53 +0000 (18:57 +0100)
committerHeiko Stuebner <heiko@sntech.de>
Thu, 8 Mar 2018 16:32:52 +0000 (17:32 +0100)
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
drivers/gpu/drm/rockchip/dw-mipi-dsi.c

index 591953cbdd18686b3a3e14d7a861edac336fd6fe..d53d5a09547f13a8af2e40f222b6e648058830e9 100644 (file)
@@ -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);
 }