提交 21774f21 编写于 作者: D Daniel Vetter

drm/hdlcd|mali: Drop drm_vblank_cleanup

IRQs are properly shut down, so it almost works as race-free shutdown.
Except the irq is stopped after the vblank stuff, so boom anyway.
Proper way would be to call drm_atomic_helper_shutdown before any of
the kms things gets stopped. So no harm in removing the
drm_vblank_cleanup here really.

Same story for both hdlcd and mali.

v2: Move misplaced malidp hunk to this patch (Liviu).

Cc: Liviu Dudau <liviu.dudau@arm.com>
Cc: Brian Starkey <brian.starkey@arm.com>
Acked-by: NLiviu Dudau <liviu.dudau@arm.com>
Signed-off-by: NDaniel Vetter <daniel.vetter@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170524145212.27837-17-daniel.vetter@ffwll.ch
上级 16584b20
...@@ -340,7 +340,6 @@ static int hdlcd_drm_bind(struct device *dev) ...@@ -340,7 +340,6 @@ static int hdlcd_drm_bind(struct device *dev)
} }
err_fbdev: err_fbdev:
drm_kms_helper_poll_fini(drm); drm_kms_helper_poll_fini(drm);
drm_vblank_cleanup(drm);
err_vblank: err_vblank:
pm_runtime_disable(drm->dev); pm_runtime_disable(drm->dev);
err_pm_active: err_pm_active:
...@@ -368,7 +367,6 @@ static void hdlcd_drm_unbind(struct device *dev) ...@@ -368,7 +367,6 @@ static void hdlcd_drm_unbind(struct device *dev)
} }
drm_kms_helper_poll_fini(drm); drm_kms_helper_poll_fini(drm);
component_unbind_all(dev, drm); component_unbind_all(dev, drm);
drm_vblank_cleanup(drm);
pm_runtime_get_sync(drm->dev); pm_runtime_get_sync(drm->dev);
drm_irq_uninstall(drm); drm_irq_uninstall(drm);
pm_runtime_put_sync(drm->dev); pm_runtime_put_sync(drm->dev);
......
...@@ -652,7 +652,6 @@ static int malidp_bind(struct device *dev) ...@@ -652,7 +652,6 @@ static int malidp_bind(struct device *dev)
drm_kms_helper_poll_fini(drm); drm_kms_helper_poll_fini(drm);
fbdev_fail: fbdev_fail:
pm_runtime_get_sync(dev); pm_runtime_get_sync(dev);
drm_vblank_cleanup(drm);
vblank_fail: vblank_fail:
malidp_se_irq_fini(drm); malidp_se_irq_fini(drm);
malidp_de_irq_fini(drm); malidp_de_irq_fini(drm);
...@@ -692,7 +691,6 @@ static void malidp_unbind(struct device *dev) ...@@ -692,7 +691,6 @@ static void malidp_unbind(struct device *dev)
} }
drm_kms_helper_poll_fini(drm); drm_kms_helper_poll_fini(drm);
pm_runtime_get_sync(dev); pm_runtime_get_sync(dev);
drm_vblank_cleanup(drm);
malidp_se_irq_fini(drm); malidp_se_irq_fini(drm);
malidp_de_irq_fini(drm); malidp_de_irq_fini(drm);
component_unbind_all(dev, drm); component_unbind_all(dev, drm);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册