diff options
| author | Stephen Boyd <sboyd@codeaurora.org> | 2015-10-02 11:15:13 -0700 | 
|---|---|---|
| committer | Stephen Boyd <sboyd@codeaurora.org> | 2015-10-02 11:22:23 -0700 | 
| commit | 9f30a04d768f64280dc0c40b730746e82f298d88 (patch) | |
| tree | e112853eb73627ed7b9a2ef8e4feab6685a0200e /drivers/gpu/drm/omapdrm/omap_fbdev.c | |
| parent | 9e294bf88a583825a413df408b9fe9e658fb93ac (diff) | |
| parent | 7aba4f5201d1b7b3ddb0b03883d9edf69851ddad (diff) | |
Merge branch 'for-4.3-rc/ti-clk-fixes' of https://github.com/t-kristo/linux-pm into clk-fixes
Pull fixes from Tero Kristo:
"A few TI clock driver fixes to pull against 4.3-rc"
* 'for-4.3-rc/ti-clk-fixes' of https://github.com/t-kristo/linux-pm: (3 commits)
  clk: ti: dflt: fix enable_reg validity check
  clk: ti: fix dual-registration of uart4_ick
  clk: ti: clk-7xx: Remove hardwired ABE clock configuration
Diffstat (limited to 'drivers/gpu/drm/omapdrm/omap_fbdev.c')
| -rw-r--r-- | drivers/gpu/drm/omapdrm/omap_fbdev.c | 40 | 
1 files changed, 14 insertions, 26 deletions
diff --git a/drivers/gpu/drm/omapdrm/omap_fbdev.c b/drivers/gpu/drm/omapdrm/omap_fbdev.c index 23b5a84389e3..b8e4cdec28c3 100644 --- a/drivers/gpu/drm/omapdrm/omap_fbdev.c +++ b/drivers/gpu/drm/omapdrm/omap_fbdev.c @@ -86,11 +86,11 @@ static struct fb_ops omap_fb_ops = {  	/* Note: to properly handle manual update displays, we wrap the  	 * basic fbdev ops which write to the framebuffer  	 */ -	.fb_read = fb_sys_read, -	.fb_write = fb_sys_write, -	.fb_fillrect = sys_fillrect, -	.fb_copyarea = sys_copyarea, -	.fb_imageblit = sys_imageblit, +	.fb_read = drm_fb_helper_sys_read, +	.fb_write = drm_fb_helper_sys_write, +	.fb_fillrect = drm_fb_helper_sys_fillrect, +	.fb_copyarea = drm_fb_helper_sys_copyarea, +	.fb_imageblit = drm_fb_helper_sys_imageblit,  	.fb_check_var = drm_fb_helper_check_var,  	.fb_set_par = drm_fb_helper_set_par, @@ -135,7 +135,7 @@ static int omap_fbdev_create(struct drm_fb_helper *helper,  	fbdev->ywrap_enabled = priv->has_dmm && ywrap_enabled;  	if (fbdev->ywrap_enabled) {  		/* need to align pitch to page size if using DMM scrolling */ -		mode_cmd.pitches[0] = ALIGN(mode_cmd.pitches[0], PAGE_SIZE); +		mode_cmd.pitches[0] = PAGE_ALIGN(mode_cmd.pitches[0]);  	}  	/* allocate backing bo */ @@ -179,10 +179,10 @@ static int omap_fbdev_create(struct drm_fb_helper *helper,  	mutex_lock(&dev->struct_mutex); -	fbi = framebuffer_alloc(0, dev->dev); -	if (!fbi) { +	fbi = drm_fb_helper_alloc_fbi(helper); +	if (IS_ERR(fbi)) {  		dev_err(dev->dev, "failed to allocate fb info\n"); -		ret = -ENOMEM; +		ret = PTR_ERR(fbi);  		goto fail_unlock;  	} @@ -190,7 +190,6 @@ static int omap_fbdev_create(struct drm_fb_helper *helper,  	fbdev->fb = fb;  	helper->fb = fb; -	helper->fbdev = fbi;  	fbi->par = helper;  	fbi->flags = FBINFO_DEFAULT; @@ -198,12 +197,6 @@ static int omap_fbdev_create(struct drm_fb_helper *helper,  	strcpy(fbi->fix.id, MODULE_NAME); -	ret = fb_alloc_cmap(&fbi->cmap, 256, 0); -	if (ret) { -		ret = -ENOMEM; -		goto fail_unlock; -	} -  	drm_fb_helper_fill_fix(fbi, fb->pitches[0], fb->depth);  	drm_fb_helper_fill_var(fbi, helper, sizes->fb_width, sizes->fb_height); @@ -236,8 +229,9 @@ fail_unlock:  fail:  	if (ret) { -		if (fbi) -			framebuffer_release(fbi); + +		drm_fb_helper_release_fbi(helper); +  		if (fb) {  			drm_framebuffer_unregister_private(fb);  			drm_framebuffer_remove(fb); @@ -312,17 +306,11 @@ void omap_fbdev_free(struct drm_device *dev)  	struct omap_drm_private *priv = dev->dev_private;  	struct drm_fb_helper *helper = priv->fbdev;  	struct omap_fbdev *fbdev; -	struct fb_info *fbi;  	DBG(); -	fbi = helper->fbdev; - -	/* only cleanup framebuffer if it is present */ -	if (fbi) { -		unregister_framebuffer(fbi); -		framebuffer_release(fbi); -	} +	drm_fb_helper_unregister_fbi(helper); +	drm_fb_helper_release_fbi(helper);  	drm_fb_helper_fini(helper);  | 
