.llseek = noop_llseek,
  };
  
 -static u32 tegra_drm_get_vblank_counter(struct drm_device *drm,
 -                                      unsigned int pipe)
 -{
 -      struct drm_crtc *crtc = drm_crtc_from_index(drm, pipe);
 -      struct tegra_dc *dc = to_tegra_dc(crtc);
 -
 -      if (!crtc)
 -              return 0;
 -
 -      return tegra_dc_get_vblank_counter(dc);
 -}
 -
 -static int tegra_drm_enable_vblank(struct drm_device *drm, unsigned int pipe)
 -{
 -      struct drm_crtc *crtc = drm_crtc_from_index(drm, pipe);
 -      struct tegra_dc *dc = to_tegra_dc(crtc);
 -
 -      if (!crtc)
 -              return -ENODEV;
 -
 -      tegra_dc_enable_vblank(dc);
 -
 -      return 0;
 -}
 -
 -static void tegra_drm_disable_vblank(struct drm_device *drm, unsigned int pipe)
 -{
 -      struct drm_crtc *crtc = drm_crtc_from_index(drm, pipe);
 -      struct tegra_dc *dc = to_tegra_dc(crtc);
 -
 -      if (crtc)
 -              tegra_dc_disable_vblank(dc);
 -}
 -
+ static int tegra_drm_context_cleanup(int id, void *p, void *data)
+ {
+       struct tegra_drm_context *context = p;
+ 
+       tegra_drm_context_free(context);
+ 
+       return 0;
+ }
+ 
  static void tegra_drm_preclose(struct drm_device *drm, struct drm_file *file)
  {
        struct tegra_drm_file *fpriv = file->driver_priv;