From: Krzysztof Helt Reduce panning function by deleting checks done by higher layer and folding remaining function into the called one. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton --- drivers/video/neofb.c | 35 +++++------------------------------ 1 file changed, 5 insertions(+), 30 deletions(-) diff -puN drivers/video/neofb.c~neofb-reduce-panning-function drivers/video/neofb.c --- a/drivers/video/neofb.c~neofb-reduce-panning-function +++ a/drivers/video/neofb.c @@ -1186,8 +1186,11 @@ static int neofb_set_par(struct fb_info return 0; } -static void neofb_update_start(struct fb_info *info, - struct fb_var_screeninfo *var) +/* + * Pan or Wrap the Display + */ +static int neofb_pan_display(struct fb_var_screeninfo *var, + struct fb_info *info) { struct neofb_par *par = info->par; struct vgastate *state = &par->state; @@ -1216,35 +1219,7 @@ static void neofb_update_start(struct fb vga_wgfx(state->vgabase, 0x0E, (((Base >> 16) & 0x0f) | (oldExtCRTDispAddr & 0xf0))); neoLock(state); -} - -/* - * Pan or Wrap the Display - */ -static int neofb_pan_display(struct fb_var_screeninfo *var, - struct fb_info *info) -{ - u_int y_bottom; - - y_bottom = var->yoffset; - - if (!(var->vmode & FB_VMODE_YWRAP)) - y_bottom += var->yres; - - if (var->xoffset > (var->xres_virtual - var->xres)) - return -EINVAL; - if (y_bottom > info->var.yres_virtual) - return -EINVAL; - - neofb_update_start(info, var); - - 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; } _