struct omap_fbdev {
struct drm_fb_helper base;
- struct drm_framebuffer *fb;
struct drm_gem_object *bo;
bool ywrap_enabled;
DBG("fbi=%p, dev=%p", fbi, dev);
- fbdev->fb = fb;
helper->fb = fb;
fbi->fbops = &omap_fb_ops;
DBG("par=%p, %dx%d", fbi->par, fbi->var.xres, fbi->var.yres);
- DBG("allocated %dx%d fb", fbdev->fb->width, fbdev->fb->height);
+ DBG("allocated %dx%d fb", fb->width, fb->height);
return 0;
{
struct omap_drm_private *priv = dev->dev_private;
struct drm_fb_helper *helper = priv->fbdev;
+ struct drm_framebuffer *fb;
struct omap_fbdev *fbdev;
DBG();
if (!helper)
return;
+ fb = helper->fb;
+
drm_fb_helper_unregister_info(helper);
drm_fb_helper_fini(helper);
omap_gem_unpin(fbdev->bo);
/* this will free the backing object */
- if (fbdev->fb)
- drm_framebuffer_remove(fbdev->fb);
+ if (fb)
+ drm_framebuffer_remove(fb);
drm_fb_helper_unprepare(helper);
kfree(fbdev);