OSDN Git Service

drm/hdlcd|mali: Drop drm_vblank_cleanup
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 24 May 2017 14:51:51 +0000 (16:51 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 1 Jun 2017 06:02:14 +0000 (08:02 +0200)
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: Liviu Dudau <liviu.dudau@arm.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170524145212.27837-17-daniel.vetter@ffwll.ch
drivers/gpu/drm/arm/hdlcd_drv.c
drivers/gpu/drm/arm/malidp_drv.c

index 0f49c4b..345c835 100644 (file)
@@ -340,7 +340,6 @@ err_register:
        }
 err_fbdev:
        drm_kms_helper_poll_fini(drm);
-       drm_vblank_cleanup(drm);
 err_vblank:
        pm_runtime_disable(drm->dev);
 err_pm_active:
@@ -368,7 +367,6 @@ static void hdlcd_drm_unbind(struct device *dev)
        }
        drm_kms_helper_poll_fini(drm);
        component_unbind_all(dev, drm);
-       drm_vblank_cleanup(drm);
        pm_runtime_get_sync(drm->dev);
        drm_irq_uninstall(drm);
        pm_runtime_put_sync(drm->dev);
index 0d3eb53..01b13d2 100644 (file)
@@ -652,7 +652,6 @@ register_fail:
        drm_kms_helper_poll_fini(drm);
 fbdev_fail:
        pm_runtime_get_sync(dev);
-       drm_vblank_cleanup(drm);
 vblank_fail:
        malidp_se_irq_fini(drm);
        malidp_de_irq_fini(drm);
@@ -692,7 +691,6 @@ static void malidp_unbind(struct device *dev)
        }
        drm_kms_helper_poll_fini(drm);
        pm_runtime_get_sync(dev);
-       drm_vblank_cleanup(drm);
        malidp_se_irq_fini(drm);
        malidp_de_irq_fini(drm);
        component_unbind_all(dev, drm);