diff options
author | Andrzej Hajda <a.hajda@samsung.com> | 2014-09-22 05:30:48 -0400 |
---|---|---|
committer | Inki Dae <daeinki@gmail.com> | 2014-11-02 11:51:27 -0500 |
commit | d9aaf7576241a9c24ede9998a630b29b26d8a6d0 (patch) | |
tree | 530b287e522f9a62a9fba8886ddee448409b3b9a | |
parent | c52142e6a88da1152ec7c3f887aedee4e50b2d56 (diff) |
drm/exynos: remove explicit encoder/connector de-initialization
All KMS objects are destroyed by drm_mode_config_cleanup in proper order
so component drivers should not care about it.
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
-rw-r--r-- | drivers/gpu/drm/exynos/exynos_dp_core.c | 5 | ||||
-rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_dpi.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_dsi.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_vidi.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/exynos/exynos_hdmi.c | 6 |
5 files changed, 0 insertions, 22 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_dp_core.c b/drivers/gpu/drm/exynos/exynos_dp_core.c index cd50ece31601..6adb1e5cfb08 100644 --- a/drivers/gpu/drm/exynos/exynos_dp_core.c +++ b/drivers/gpu/drm/exynos/exynos_dp_core.c | |||
@@ -1355,13 +1355,8 @@ static void exynos_dp_unbind(struct device *dev, struct device *master, | |||
1355 | void *data) | 1355 | void *data) |
1356 | { | 1356 | { |
1357 | struct exynos_drm_display *display = dev_get_drvdata(dev); | 1357 | struct exynos_drm_display *display = dev_get_drvdata(dev); |
1358 | struct exynos_dp_device *dp = display->ctx; | ||
1359 | struct drm_encoder *encoder = dp->encoder; | ||
1360 | 1358 | ||
1361 | exynos_dp_dpms(display, DRM_MODE_DPMS_OFF); | 1359 | exynos_dp_dpms(display, DRM_MODE_DPMS_OFF); |
1362 | |||
1363 | exynos_dp_connector_destroy(&dp->connector); | ||
1364 | encoder->funcs->destroy(encoder); | ||
1365 | } | 1360 | } |
1366 | 1361 | ||
1367 | static const struct component_ops exynos_dp_ops = { | 1362 | static const struct component_ops exynos_dp_ops = { |
diff --git a/drivers/gpu/drm/exynos/exynos_drm_dpi.c b/drivers/gpu/drm/exynos/exynos_drm_dpi.c index 96c87db388fb..3dc678ed9949 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_dpi.c +++ b/drivers/gpu/drm/exynos/exynos_drm_dpi.c | |||
@@ -338,14 +338,10 @@ err_del_component: | |||
338 | 338 | ||
339 | int exynos_dpi_remove(struct device *dev) | 339 | int exynos_dpi_remove(struct device *dev) |
340 | { | 340 | { |
341 | struct drm_encoder *encoder = exynos_dpi_display.encoder; | ||
342 | struct exynos_dpi *ctx = exynos_dpi_display.ctx; | 341 | struct exynos_dpi *ctx = exynos_dpi_display.ctx; |
343 | 342 | ||
344 | exynos_dpi_dpms(&exynos_dpi_display, DRM_MODE_DPMS_OFF); | 343 | exynos_dpi_dpms(&exynos_dpi_display, DRM_MODE_DPMS_OFF); |
345 | 344 | ||
346 | exynos_dpi_connector_destroy(&ctx->connector); | ||
347 | encoder->funcs->destroy(encoder); | ||
348 | |||
349 | if (ctx->panel) | 345 | if (ctx->panel) |
350 | drm_panel_detach(ctx->panel); | 346 | drm_panel_detach(ctx->panel); |
351 | 347 | ||
diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c index 24741d8758e8..acf7e9e39dcd 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c +++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c | |||
@@ -1660,13 +1660,9 @@ static void exynos_dsi_unbind(struct device *dev, struct device *master, | |||
1660 | void *data) | 1660 | void *data) |
1661 | { | 1661 | { |
1662 | struct exynos_dsi *dsi = exynos_dsi_display.ctx; | 1662 | struct exynos_dsi *dsi = exynos_dsi_display.ctx; |
1663 | struct drm_encoder *encoder = dsi->encoder; | ||
1664 | 1663 | ||
1665 | exynos_dsi_dpms(&exynos_dsi_display, DRM_MODE_DPMS_OFF); | 1664 | exynos_dsi_dpms(&exynos_dsi_display, DRM_MODE_DPMS_OFF); |
1666 | 1665 | ||
1667 | exynos_dsi_connector_destroy(&dsi->connector); | ||
1668 | encoder->funcs->destroy(encoder); | ||
1669 | |||
1670 | mipi_dsi_host_unregister(&dsi->dsi_host); | 1666 | mipi_dsi_host_unregister(&dsi->dsi_host); |
1671 | } | 1667 | } |
1672 | 1668 | ||
diff --git a/drivers/gpu/drm/exynos/exynos_drm_vidi.c b/drivers/gpu/drm/exynos/exynos_drm_vidi.c index d565207040a2..9395e85ffd53 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_vidi.c +++ b/drivers/gpu/drm/exynos/exynos_drm_vidi.c | |||
@@ -639,9 +639,6 @@ static int vidi_remove(struct platform_device *pdev) | |||
639 | return -EINVAL; | 639 | return -EINVAL; |
640 | } | 640 | } |
641 | 641 | ||
642 | encoder->funcs->destroy(encoder); | ||
643 | drm_connector_cleanup(&ctx->connector); | ||
644 | |||
645 | return 0; | 642 | return 0; |
646 | } | 643 | } |
647 | 644 | ||
diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c index 7910fb37d9bb..563a19e62eb2 100644 --- a/drivers/gpu/drm/exynos/exynos_hdmi.c +++ b/drivers/gpu/drm/exynos/exynos_hdmi.c | |||
@@ -2312,12 +2312,6 @@ static int hdmi_bind(struct device *dev, struct device *master, void *data) | |||
2312 | 2312 | ||
2313 | static void hdmi_unbind(struct device *dev, struct device *master, void *data) | 2313 | static void hdmi_unbind(struct device *dev, struct device *master, void *data) |
2314 | { | 2314 | { |
2315 | struct exynos_drm_display *display = get_hdmi_display(dev); | ||
2316 | struct drm_encoder *encoder = display->encoder; | ||
2317 | struct hdmi_context *hdata = display->ctx; | ||
2318 | |||
2319 | hdmi_connector_destroy(&hdata->connector); | ||
2320 | encoder->funcs->destroy(encoder); | ||
2321 | } | 2315 | } |
2322 | 2316 | ||
2323 | static const struct component_ops hdmi_component_ops = { | 2317 | static const struct component_ops hdmi_component_ops = { |