mirror of
https://github.com/adulau/aha.git
synced 2024-12-27 19:26:25 +00:00
neofb: reduce panning function
Reduce panning function by deleting checks done by higher layer and folding remaining function into the called one. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
319fcb224d
commit
d15d56f9f1
1 changed files with 5 additions and 30 deletions
|
@ -1186,8 +1186,11 @@ static int neofb_set_par(struct fb_info *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_info *info,
|
|||
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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue