Browse Source

drm/msm: Free fb helper resources in msm_unload

We have a msm_fbev_free function to uninit fb_helper stuff, but we aren't
using it. Call it in msm_unload.

Signed-off-by: Archit Taneja <architt@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
Archit Taneja 9 years ago
parent
commit
1aaa57f5d4
2 changed files with 6 additions and 0 deletions
  1. 5 0
      drivers/gpu/drm/msm/msm_drv.c
  2. 1 0
      drivers/gpu/drm/msm/msm_drv.h

+ 5 - 0
drivers/gpu/drm/msm/msm_drv.c

@@ -196,6 +196,11 @@ static int msm_unload(struct drm_device *dev)
 	}
 	}
 
 
 	drm_kms_helper_poll_fini(dev);
 	drm_kms_helper_poll_fini(dev);
+
+#ifdef CONFIG_DRM_FBDEV_EMULATION
+	if (fbdev && priv->fbdev)
+		msm_fbdev_free(dev);
+#endif
 	drm_mode_config_cleanup(dev);
 	drm_mode_config_cleanup(dev);
 	drm_vblank_cleanup(dev);
 	drm_vblank_cleanup(dev);
 
 

+ 1 - 0
drivers/gpu/drm/msm/msm_drv.h

@@ -240,6 +240,7 @@ struct drm_framebuffer *msm_framebuffer_create(struct drm_device *dev,
 		struct drm_file *file, const struct drm_mode_fb_cmd2 *mode_cmd);
 		struct drm_file *file, const struct drm_mode_fb_cmd2 *mode_cmd);
 
 
 struct drm_fb_helper *msm_fbdev_init(struct drm_device *dev);
 struct drm_fb_helper *msm_fbdev_init(struct drm_device *dev);
+void msm_fbdev_free(struct drm_device *dev);
 
 
 struct hdmi;
 struct hdmi;
 int hdmi_modeset_init(struct hdmi *hdmi, struct drm_device *dev,
 int hdmi_modeset_init(struct hdmi *hdmi, struct drm_device *dev,