Skip to content

Commit

Permalink
drm/exynos: remove explicit encoder/connector de-initialization
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Andrzej Hajda authored and Inki Dae committed Nov 2, 2014
1 parent c52142e commit d9aaf75
Show file tree
Hide file tree
Showing 5 changed files with 0 additions and 22 deletions.
5 changes: 0 additions & 5 deletions drivers/gpu/drm/exynos/exynos_dp_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -1355,13 +1355,8 @@ static void exynos_dp_unbind(struct device *dev, struct device *master,
void *data)
{
struct exynos_drm_display *display = dev_get_drvdata(dev);
struct exynos_dp_device *dp = display->ctx;
struct drm_encoder *encoder = dp->encoder;

exynos_dp_dpms(display, DRM_MODE_DPMS_OFF);

exynos_dp_connector_destroy(&dp->connector);
encoder->funcs->destroy(encoder);
}

static const struct component_ops exynos_dp_ops = {
Expand Down
4 changes: 0 additions & 4 deletions drivers/gpu/drm/exynos/exynos_drm_dpi.c
Original file line number Diff line number Diff line change
Expand Up @@ -338,14 +338,10 @@ struct exynos_drm_display *exynos_dpi_probe(struct device *dev)

int exynos_dpi_remove(struct device *dev)
{
struct drm_encoder *encoder = exynos_dpi_display.encoder;
struct exynos_dpi *ctx = exynos_dpi_display.ctx;

exynos_dpi_dpms(&exynos_dpi_display, DRM_MODE_DPMS_OFF);

exynos_dpi_connector_destroy(&ctx->connector);
encoder->funcs->destroy(encoder);

if (ctx->panel)
drm_panel_detach(ctx->panel);

Expand Down
4 changes: 0 additions & 4 deletions drivers/gpu/drm/exynos/exynos_drm_dsi.c
Original file line number Diff line number Diff line change
Expand Up @@ -1660,13 +1660,9 @@ static void exynos_dsi_unbind(struct device *dev, struct device *master,
void *data)
{
struct exynos_dsi *dsi = exynos_dsi_display.ctx;
struct drm_encoder *encoder = dsi->encoder;

exynos_dsi_dpms(&exynos_dsi_display, DRM_MODE_DPMS_OFF);

exynos_dsi_connector_destroy(&dsi->connector);
encoder->funcs->destroy(encoder);

mipi_dsi_host_unregister(&dsi->dsi_host);
}

Expand Down
3 changes: 0 additions & 3 deletions drivers/gpu/drm/exynos/exynos_drm_vidi.c
Original file line number Diff line number Diff line change
Expand Up @@ -639,9 +639,6 @@ static int vidi_remove(struct platform_device *pdev)
return -EINVAL;
}

encoder->funcs->destroy(encoder);
drm_connector_cleanup(&ctx->connector);

return 0;
}

Expand Down
6 changes: 0 additions & 6 deletions drivers/gpu/drm/exynos/exynos_hdmi.c
Original file line number Diff line number Diff line change
Expand Up @@ -2312,12 +2312,6 @@ static int hdmi_bind(struct device *dev, struct device *master, void *data)

static void hdmi_unbind(struct device *dev, struct device *master, void *data)
{
struct exynos_drm_display *display = get_hdmi_display(dev);
struct drm_encoder *encoder = display->encoder;
struct hdmi_context *hdata = display->ctx;

hdmi_connector_destroy(&hdata->connector);
encoder->funcs->destroy(encoder);
}

static const struct component_ops hdmi_component_ops = {
Expand Down

0 comments on commit d9aaf75

Please sign in to comment.