drm/bridge/synopsys: dsi: move mipi_dsi_host_unregister to __dw_mipi_dsi_remove
authorHeiko Stuebner <heiko@sntech.de>
Mon, 1 Oct 2018 12:38:39 +0000 (14:38 +0200)
committerAndrzej Hajda <a.hajda@samsung.com>
Tue, 30 Oct 2018 13:06:08 +0000 (14:06 +0100)
Right now the host is only unregistered when the driver is used via the
bridge api and not via the component api, leading to the host staying
registered in cases like probe deferral.

So move the host unregister to the general remove function, so that it
gets cleaned up in all cases.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Philippe Cornu <philippe.cornu@st.com>
Tested-by: Philippe Cornu <philippe.cornu@st.com>
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181001123845.11818-2-heiko@sntech.de
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c

index fd7999642cf8a5689124d8c2df1e64448c96744a..07cde255cab2b88eb6c5a5973a619378d11b31cb 100644 (file)
@@ -941,6 +941,8 @@ __dw_mipi_dsi_probe(struct platform_device *pdev,
 
 static void __dw_mipi_dsi_remove(struct dw_mipi_dsi *dsi)
 {
+       mipi_dsi_host_unregister(&dsi->dsi_host);
+
        pm_runtime_disable(dsi->dev);
 }
 
@@ -957,8 +959,6 @@ EXPORT_SYMBOL_GPL(dw_mipi_dsi_probe);
 
 void dw_mipi_dsi_remove(struct dw_mipi_dsi *dsi)
 {
-       mipi_dsi_host_unregister(&dsi->dsi_host);
-
        __dw_mipi_dsi_remove(dsi);
 }
 EXPORT_SYMBOL_GPL(dw_mipi_dsi_remove);