video: fbdev: amiga: Simplify amifb_pan_display()
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>
This commit is contained in:
parent
ff6992735a
commit
2194f95760
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user