diff options
Diffstat (limited to 'drivers/video/fbmem.c')
-rw-r--r-- | drivers/video/fbmem.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c index 33ebdb198daf..5d84b3431098 100644 --- a/drivers/video/fbmem.c +++ b/drivers/video/fbmem.c | |||
@@ -35,6 +35,7 @@ | |||
35 | #include <linux/device.h> | 35 | #include <linux/device.h> |
36 | #include <linux/efi.h> | 36 | #include <linux/efi.h> |
37 | #include <linux/fb.h> | 37 | #include <linux/fb.h> |
38 | #include <linux/major.h> | ||
38 | 39 | ||
39 | #include <asm/fb.h> | 40 | #include <asm/fb.h> |
40 | 41 | ||
@@ -848,9 +849,8 @@ int | |||
848 | fb_pan_display(struct fb_info *info, struct fb_var_screeninfo *var) | 849 | fb_pan_display(struct fb_info *info, struct fb_var_screeninfo *var) |
849 | { | 850 | { |
850 | struct fb_fix_screeninfo *fix = &info->fix; | 851 | struct fb_fix_screeninfo *fix = &info->fix; |
851 | int xoffset = var->xoffset; | 852 | unsigned int yres = info->var.yres; |
852 | int yoffset = var->yoffset; | 853 | int err = 0; |
853 | int err = 0, yres = info->var.yres; | ||
854 | 854 | ||
855 | if (var->yoffset > 0) { | 855 | if (var->yoffset > 0) { |
856 | if (var->vmode & FB_VMODE_YWRAP) { | 856 | if (var->vmode & FB_VMODE_YWRAP) { |
@@ -866,8 +866,8 @@ fb_pan_display(struct fb_info *info, struct fb_var_screeninfo *var) | |||
866 | (var->xoffset % fix->xpanstep))) | 866 | (var->xoffset % fix->xpanstep))) |
867 | err = -EINVAL; | 867 | err = -EINVAL; |
868 | 868 | ||
869 | if (err || !info->fbops->fb_pan_display || xoffset < 0 || | 869 | if (err || !info->fbops->fb_pan_display || |
870 | yoffset < 0 || var->yoffset + yres > info->var.yres_virtual || | 870 | var->yoffset + yres > info->var.yres_virtual || |
871 | var->xoffset + info->var.xres > info->var.xres_virtual) | 871 | var->xoffset + info->var.xres > info->var.xres_virtual) |
872 | return -EINVAL; | 872 | return -EINVAL; |
873 | 873 | ||
@@ -1439,8 +1439,9 @@ register_framebuffer(struct fb_info *fb_info) | |||
1439 | break; | 1439 | break; |
1440 | fb_info->node = i; | 1440 | fb_info->node = i; |
1441 | 1441 | ||
1442 | fb_info->dev = device_create(fb_class, fb_info->device, | 1442 | fb_info->dev = device_create_drvdata(fb_class, fb_info->device, |
1443 | MKDEV(FB_MAJOR, i), "fb%d", i); | 1443 | MKDEV(FB_MAJOR, i), NULL, |
1444 | "fb%d", i); | ||
1444 | if (IS_ERR(fb_info->dev)) { | 1445 | if (IS_ERR(fb_info->dev)) { |
1445 | /* Not fatal */ | 1446 | /* Not fatal */ |
1446 | printk(KERN_WARNING "Unable to create device for framebuffer %d; errno = %ld\n", i, PTR_ERR(fb_info->dev)); | 1447 | printk(KERN_WARNING "Unable to create device for framebuffer %d; errno = %ld\n", i, PTR_ERR(fb_info->dev)); |