diff options
author | Andrzej Hajda <a.hajda@samsung.com> | 2014-09-09 13:16:10 (GMT) |
---|---|---|
committer | Inki Dae <daeinki@gmail.com> | 2014-09-19 15:56:15 (GMT) |
commit | 0ae460159faf0520228c554a728cc27d561d4b5b (patch) | |
tree | 49ee85cd6ef41e9c20eff4b243ba072d454a5847 /drivers/gpu/drm/exynos | |
parent | 849b43187a71bfecf37ffbcf2f88a69062240933 (diff) | |
download | linux-0ae460159faf0520228c554a728cc27d561d4b5b.tar.xz |
drm/exynos/dsi: unregister connector on removal
During component unbind connector should be unregistered.
Also DSI host should be unregistered after KMS cleanup.
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Diffstat (limited to 'drivers/gpu/drm/exynos')
-rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_dsi.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c index 0065a5a..24741d8 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c +++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c @@ -1441,6 +1441,9 @@ exynos_dsi_detect(struct drm_connector *connector, bool force) static void exynos_dsi_connector_destroy(struct drm_connector *connector) { + drm_connector_unregister(connector); + drm_connector_cleanup(connector); + connector->dev = NULL; } static struct drm_connector_funcs exynos_dsi_connector_funcs = { @@ -1661,10 +1664,10 @@ static void exynos_dsi_unbind(struct device *dev, struct device *master, exynos_dsi_dpms(&exynos_dsi_display, DRM_MODE_DPMS_OFF); - mipi_dsi_host_unregister(&dsi->dsi_host); - + exynos_dsi_connector_destroy(&dsi->connector); encoder->funcs->destroy(encoder); - drm_connector_cleanup(&dsi->connector); + + mipi_dsi_host_unregister(&dsi->dsi_host); } static const struct component_ops exynos_dsi_component_ops = { |