]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/video/fbmem.c
Merge branch 'pxa-trizeps' into pxa-machines
[linux-2.6-omap-h63xx.git] / drivers / video / fbmem.c
index 1cd5071e53621f26a1cfe77b784a9dd8da725799..0737570030f5e85459b4f926e3a4e8a7aaa09b3d 100644 (file)
@@ -848,9 +848,8 @@ int
 fb_pan_display(struct fb_info *info, struct fb_var_screeninfo *var)
 {
        struct fb_fix_screeninfo *fix = &info->fix;
-        int xoffset = var->xoffset;
-        int yoffset = var->yoffset;
-        int err = 0, yres = info->var.yres;
+       unsigned int yres = info->var.yres;
+       int err = 0;
 
        if (var->yoffset > 0) {
                if (var->vmode & FB_VMODE_YWRAP) {
@@ -866,8 +865,8 @@ fb_pan_display(struct fb_info *info, struct fb_var_screeninfo *var)
                                 (var->xoffset % fix->xpanstep)))
                err = -EINVAL;
 
-        if (err || !info->fbops->fb_pan_display || xoffset < 0 ||
-           yoffset < 0 || var->yoffset + yres > info->var.yres_virtual ||
+       if (err || !info->fbops->fb_pan_display ||
+           var->yoffset + yres > info->var.yres_virtual ||
            var->xoffset + info->var.xres > info->var.xres_virtual)
                return -EINVAL;
 
@@ -980,6 +979,7 @@ fb_set_var(struct fb_info *info, struct fb_var_screeninfo *var)
 
                                info->flags &= ~FBINFO_MISC_USEREVENT;
                                event.info = info;
+                               event.data = &mode;
                                fb_notifier_call_chain(evnt, &event);
                        }
                }
@@ -1345,6 +1345,10 @@ fb_open(struct inode *inode, struct file *file)
                if (res)
                        module_put(info->fbops->owner);
        }
+#ifdef CONFIG_FB_DEFERRED_IO
+       if (info->fbdefio)
+               fb_deferred_io_open(info, inode, file);
+#endif
 out:
        unlock_kernel();
        return res;