summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/exynos/exynos_hdmi.c
diff options
context:
space:
mode:
authorAndrzej Hajda <a.hajda@samsung.com>2015-06-11 15:13:26 +0200
committerSeung-Woo Kim <sw0312.kim@samsung.com>2016-12-14 13:46:06 +0900
commitc5d235fce3260e104565e22c66d46047d39c3342 (patch)
tree2117b6ac34723534c05fe28053c61c39405c54bf /drivers/gpu/drm/exynos/exynos_hdmi.c
parent26c3fa582e065a26d1aaac2d41f079dc59731974 (diff)
drm/exynos/hdmi: fix removal order
DRM device should be destroyed first, before resources unbinding. Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Diffstat (limited to 'drivers/gpu/drm/exynos/exynos_hdmi.c')
-rw-r--r--drivers/gpu/drm/exynos/exynos_hdmi.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
index 5ee71638ea76..f3f51bdc3fcd 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -2708,6 +2708,10 @@ static int hdmi_remove(struct platform_device *pdev)
cancel_delayed_work_sync(&hdata->hotplug_work);
+ component_del(&pdev->dev, &hdmi_component_ops);
+
+ pm_runtime_disable(&pdev->dev);
+
if (hdata->res.reg_hdmi_en)
regulator_disable(hdata->res.reg_hdmi_en);
@@ -2715,9 +2719,6 @@ static int hdmi_remove(struct platform_device *pdev)
put_device(&hdata->hdmiphy_port->dev);
put_device(&hdata->ddc_adpt->dev);
- pm_runtime_disable(&pdev->dev);
- component_del(&pdev->dev, &hdmi_component_ops);
-
return 0;
}