* [PATCH] drm/exynos: remove explicit encoder/connector de-initialization
@ 2014-09-22 9:30 Andrzej Hajda
2014-10-07 14:11 ` Andrzej Hajda
0 siblings, 1 reply; 2+ messages in thread
From: Andrzej Hajda @ 2014-09-22 9:30 UTC (permalink / raw)
To: Inki Dae
Cc: Andrzej Hajda, Joonyoung Shim, Seung-Woo Kim, Kyungmin Park,
David Airlie, Kukjin Kim, open list:DRM DRIVERS FOR E...,
moderated list:ARM/S5P EXYNOS AR..., open list, m.szyprowski
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>
---
Hi Inki,
This is another spin-off of exynos_drm tests regarding your
component support update.
The patch is based as usual on the latest exynos-drm-next branch.
Regards
Andrzej
---
drivers/gpu/drm/exynos/exynos_dp_core.c | 5 -----
drivers/gpu/drm/exynos/exynos_drm_dpi.c | 4 ----
drivers/gpu/drm/exynos/exynos_drm_dsi.c | 4 ----
drivers/gpu/drm/exynos/exynos_drm_vidi.c | 3 ---
drivers/gpu/drm/exynos/exynos_hdmi.c | 6 ------
5 files changed, 22 deletions(-)
diff --git a/drivers/gpu/drm/exynos/exynos_dp_core.c b/drivers/gpu/drm/exynos/exynos_dp_core.c
index cd50ece..6adb1e5 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,
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 = {
diff --git a/drivers/gpu/drm/exynos/exynos_drm_dpi.c b/drivers/gpu/drm/exynos/exynos_drm_dpi.c
index 96c87db..3dc678e 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:
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);
diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c
index 24741d8..acf7e9e 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,
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);
}
diff --git a/drivers/gpu/drm/exynos/exynos_drm_vidi.c b/drivers/gpu/drm/exynos/exynos_drm_vidi.c
index d565207..9395e85 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)
return -EINVAL;
}
- encoder->funcs->destroy(encoder);
- drm_connector_cleanup(&ctx->connector);
-
return 0;
}
diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
index 7910fb3..563a19e 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)
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 = {
--
1.9.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] drm/exynos: remove explicit encoder/connector de-initialization
2014-09-22 9:30 [PATCH] drm/exynos: remove explicit encoder/connector de-initialization Andrzej Hajda
@ 2014-10-07 14:11 ` Andrzej Hajda
0 siblings, 0 replies; 2+ messages in thread
From: Andrzej Hajda @ 2014-10-07 14:11 UTC (permalink / raw)
To: Inki Dae
Cc: Joonyoung Shim, Seung-Woo Kim, Kyungmin Park, David Airlie,
Kukjin Kim, open list:DRM DRIVERS FOR E...,
moderated list:ARM/S5P EXYNOS AR..., open list, m.szyprowski
Hi Inki,
Another gently ping :)
Andrzej
On 09/22/2014 11:30 AM, Andrzej Hajda wrote:
> 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>
> ---
> Hi Inki,
>
> This is another spin-off of exynos_drm tests regarding your
> component support update.
> The patch is based as usual on the latest exynos-drm-next branch.
>
> Regards
> Andrzej
> ---
> drivers/gpu/drm/exynos/exynos_dp_core.c | 5 -----
> drivers/gpu/drm/exynos/exynos_drm_dpi.c | 4 ----
> drivers/gpu/drm/exynos/exynos_drm_dsi.c | 4 ----
> drivers/gpu/drm/exynos/exynos_drm_vidi.c | 3 ---
> drivers/gpu/drm/exynos/exynos_hdmi.c | 6 ------
> 5 files changed, 22 deletions(-)
>
> diff --git a/drivers/gpu/drm/exynos/exynos_dp_core.c b/drivers/gpu/drm/exynos/exynos_dp_core.c
> index cd50ece..6adb1e5 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,
> 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 = {
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_dpi.c b/drivers/gpu/drm/exynos/exynos_drm_dpi.c
> index 96c87db..3dc678e 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:
>
> 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);
>
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c
> index 24741d8..acf7e9e 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,
> 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);
> }
>
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_vidi.c b/drivers/gpu/drm/exynos/exynos_drm_vidi.c
> index d565207..9395e85 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)
> return -EINVAL;
> }
>
> - encoder->funcs->destroy(encoder);
> - drm_connector_cleanup(&ctx->connector);
> -
> return 0;
> }
>
> diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
> index 7910fb3..563a19e 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)
>
> 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 = {
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-10-07 14:11 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-22 9:30 [PATCH] drm/exynos: remove explicit encoder/connector de-initialization Andrzej Hajda
2014-10-07 14:11 ` Andrzej Hajda
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).