Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 477 → Rev 478

/shark/trunk/drivers/fb/vesa.h
89,5 → 89,6
int vbe_setbank(ModeInfoBlock *ModeInfo, BYTE bank);
void vbe_showmodeinfo (ModeInfoBlock *ModeInfo);
int vbe_checkmode(WORD mode);
void vbe_restore_vga(void);
 
DWORD vbe_getmem(void);
/shark/trunk/drivers/fb/vesafb.c
180,6 → 180,14
return 0;
}
 
static int vesafb_release(struct fb_info *info, int user)
{
 
vbe_restore_vga();
return 0;
 
}
 
static struct fb_ops vesafb_ops = {
.owner = THIS_MODULE,
.fb_setcolreg = vesafb_setcolreg,
188,6 → 196,7
.fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit,
.fb_cursor = soft_cursor,
.fb_release = vesafb_release,
};
 
int __init vesafb_setup(char *options)
/shark/trunk/drivers/fb/gdvesa.c
59,6 → 59,30
return 1;
}
 
void vbe_restore_vga(void) {
 
X_REGS16 inregs, outregs;
X_SREGS16 sregs;
 
#ifndef VM86
BYTE p1,p2;
#endif
inregs.x.ax = 0x03;
#ifndef VM86
p1 = inp(0x21);
p2 = inp(0xA1);
outp(0x21,0xFF);
outp(0xA1,0xFF);
X_callBIOS(0x10, &inregs, &outregs, &sregs);
outp(0x21,p1);
outp(0xA1,p2);
#else
vm86_callBIOS(0x10, &inregs, &outregs, &sregs);
#endif
 
}
 
int vbe_getinfo(void)
{
X_REGS16 inregs, outregs; /* registri normali */