video: fbdev: amiga: Simplify amifb_pan_display()
authorGeert Uytterhoeven <geert@linux-m68k.org>
Mon, 11 Jul 2022 15:35:48 +0000 (17:35 +0200)
committerHelge Deller <deller@gmx.de>
Mon, 18 Jul 2022 05:54:17 +0000 (07:54 +0200)
The fb_pan_display() function in the core already takes care of
validating most panning parameters before calling the driver's
.fb_pan_display() callback, and of updating the panning state
afterwards, so there is no need to repeat that in the driver.

Remove the duplicate code.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Helge Deller <deller@gmx.de>
drivers/video/fbdev/amifb.c

index 6e07a97..d88265d 100644 (file)
@@ -2540,27 +2540,16 @@ static int amifb_blank(int blank, struct fb_info *info)
 static int amifb_pan_display(struct fb_var_screeninfo *var,
                             struct fb_info *info)
 {
-       if (var->vmode & FB_VMODE_YWRAP) {
-               if (var->yoffset < 0 ||
-                       var->yoffset >= info->var.yres_virtual || var->xoffset)
-                               return -EINVAL;
-       } else {
+       if (!(var->vmode & FB_VMODE_YWRAP)) {
                /*
                 * TODO: There will be problems when xpan!=1, so some columns
                 * on the right side will never be seen
                 */
                if (var->xoffset + info->var.xres >
-                   upx(16 << maxfmode, info->var.xres_virtual) ||
-                   var->yoffset + info->var.yres > info->var.yres_virtual)
+                   upx(16 << maxfmode, info->var.xres_virtual))
                        return -EINVAL;
        }
        ami_pan_var(var, info);
-       info->var.xoffset = var->xoffset;
-       info->var.yoffset = var->yoffset;
-       if (var->vmode & FB_VMODE_YWRAP)
-               info->var.vmode |= FB_VMODE_YWRAP;
-       else
-               info->var.vmode &= ~FB_VMODE_YWRAP;
        return 0;
 }