event->pipe = drm_crtc_index(crtc);
 
                WARN_ON(drm_crtc_vblank_get(crtc) != 0);
-
-               spin_lock_irqsave(&crtc->dev->event_lock, flags);
-               list_add_tail(&event->base.link, &arcpgu->event_list);
-               spin_unlock_irqrestore(&crtc->dev->event_lock, flags);
        }
 }
 
 
        .mmap = arcpgu_gem_mmap,
 };
 
-static void arcpgu_preclose(struct drm_device *drm, struct drm_file *file)
-{
-       struct arcpgu_drm_private *arcpgu = drm->dev_private;
-       struct drm_pending_vblank_event *e, *t;
-       unsigned long flags;
-
-       spin_lock_irqsave(&drm->event_lock, flags);
-       list_for_each_entry_safe(e, t, &arcpgu->event_list, base.link) {
-               if (e->base.file_priv != file)
-                       continue;
-               list_del(&e->base.link);
-               kfree(&e->base);
-       }
-       spin_unlock_irqrestore(&drm->event_lock, flags);
-}
-
 static void arcpgu_lastclose(struct drm_device *drm)
 {
        struct arcpgu_drm_private *arcpgu = drm->dev_private;
        if (IS_ERR(arcpgu->clk))
                return PTR_ERR(arcpgu->clk);
 
-       INIT_LIST_HEAD(&arcpgu->event_list);
-
        arcpgu_setup_mode_config(drm);
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 static struct drm_driver arcpgu_drm_driver = {
        .driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_PRIME |
                           DRIVER_ATOMIC,
-       .preclose = arcpgu_preclose,
        .lastclose = arcpgu_lastclose,
        .name = "drm-arcpgu",
        .desc = "ARC PGU Controller",