Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d9aaf757 authored by Andrzej Hajda's avatar Andrzej Hajda Committed by Inki Dae
Browse files

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: default avatarAndrzej Hajda <a.hajda@samsung.com>
Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
parent c52142e6
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -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 = {
+0 −4
Original line number Diff line number Diff line
@@ -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);

+0 −4
Original line number Diff line number Diff line
@@ -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);
}

+0 −3
Original line number Diff line number Diff line
@@ -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;
}

+0 −6
Original line number Diff line number Diff line
@@ -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 = {