diff options
Diffstat (limited to 'drivers/gpu/drm/omapdrm/omap_fbdev.c')
| -rw-r--r-- | drivers/gpu/drm/omapdrm/omap_fbdev.c | 14 | 
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/gpu/drm/omapdrm/omap_fbdev.c b/drivers/gpu/drm/omapdrm/omap_fbdev.c index 40706c5aad7b..84429728347f 100644 --- a/drivers/gpu/drm/omapdrm/omap_fbdev.c +++ b/drivers/gpu/drm/omapdrm/omap_fbdev.c @@ -38,7 +38,7 @@ static struct drm_fb_helper *get_fb(struct fb_info *fbi);  static void pan_worker(struct work_struct *work)  {  	struct omap_fbdev *fbdev = container_of(work, struct omap_fbdev, work); -	struct fb_info *fbi = fbdev->base.fbdev; +	struct fb_info *fbi = fbdev->base.info;  	int npages;  	/* DMM roll shifts in 4K pages: */ @@ -161,7 +161,7 @@ static int omap_fbdev_create(struct drm_fb_helper *helper,  		goto fail;  	} -	fbi = drm_fb_helper_alloc_fbi(helper); +	fbi = drm_fb_helper_alloc_info(helper);  	if (IS_ERR(fbi)) {  		dev_err(dev->dev, "failed to allocate fb info\n");  		ret = PTR_ERR(fbi); @@ -177,8 +177,6 @@ static int omap_fbdev_create(struct drm_fb_helper *helper,  	drm_fb_helper_fill_info(fbi, helper, sizes); -	dev->mode_config.fb_base = dma_addr; -  	fbi->screen_buffer = omap_gem_vaddr(fbdev->bo);  	fbi->screen_size = fbdev->bo->size;  	fbi->fix.smem_start = dma_addr; @@ -241,13 +239,13 @@ void omap_fbdev_init(struct drm_device *dev)  	helper = &fbdev->base; -	drm_fb_helper_prepare(dev, helper, &omap_fb_helper_funcs); +	drm_fb_helper_prepare(dev, helper, 32, &omap_fb_helper_funcs);  	ret = drm_fb_helper_init(dev, helper);  	if (ret)  		goto fail; -	ret = drm_fb_helper_initial_config(helper, 32); +	ret = drm_fb_helper_initial_config(helper);  	if (ret)  		goto fini; @@ -258,6 +256,7 @@ void omap_fbdev_init(struct drm_device *dev)  fini:  	drm_fb_helper_fini(helper);  fail: +	drm_fb_helper_unprepare(helper);  	kfree(fbdev);  	dev_warn(dev->dev, "omap_fbdev_init failed\n"); @@ -274,7 +273,7 @@ void omap_fbdev_fini(struct drm_device *dev)  	if (!helper)  		return; -	drm_fb_helper_unregister_fbi(helper); +	drm_fb_helper_unregister_info(helper);  	drm_fb_helper_fini(helper); @@ -288,6 +287,7 @@ void omap_fbdev_fini(struct drm_device *dev)  	if (fbdev->fb)  		drm_framebuffer_remove(fbdev->fb); +	drm_fb_helper_unprepare(helper);  	kfree(fbdev);  	priv->fbdev = NULL;  |