X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fvideo%2Fhgafb.c;h=87d008af2a19283b204618cc1951f4b88291273e;hb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;hp=617734e46688f182e049df70f6d5e74607729f20;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/drivers/video/hgafb.c b/drivers/video/hgafb.c index 617734e46..87d008af2 100644 --- a/drivers/video/hgafb.c +++ b/drivers/video/hgafb.c @@ -448,6 +448,10 @@ static int hgafb_blank(int blank_mode, struct fb_info *info) return 0; } +/* + * Accel functions + */ +#ifdef CONFIG_FB_HGA_ACCEL static void hgafb_fillrect(struct fb_info *info, const struct fb_fillrect *rect) { u_int rows, y; @@ -510,6 +514,11 @@ static void hgafb_imageblit(struct fb_info *info, const struct fb_image *image) *dest = d; } } +#else /* !CONFIG_FB_HGA_ACCEL */ +#define hgafb_fillrect cfb_fillrect +#define hgafb_copyarea cfb_copyarea +#define hgafb_imageblit cfb_imageblit +#endif /* CONFIG_FB_HGA_ACCEL */ static struct fb_ops hgafb_ops = { @@ -519,9 +528,9 @@ static struct fb_ops hgafb_ops = { .fb_setcolreg = hgafb_setcolreg, .fb_pan_display = hgafb_pan_display, .fb_blank = hgafb_blank, - .fb_fillrect = cfb_fillrect, //hgafb_fillrect, - .fb_copyarea = cfb_copyarea, //hgafb_copyarea, - .fb_imageblit = cfb_imageblit,//hgafb_imageblit, + .fb_fillrect = hgafb_fillrect, + .fb_copyarea = hgafb_copyarea, + .fb_imageblit = hgafb_imageblit, }; /* ------------------------------------------------------------------------- * @@ -538,6 +547,9 @@ static struct fb_ops hgafb_ops = { int __init hgafb_init(void) { + if (fb_get_options("hgafb", NULL)) + return -ENODEV; + if (! hga_card_detect()) { printk(KERN_INFO "hgafb: HGA card not detected.\n"); return -EINVAL; @@ -549,7 +561,7 @@ int __init hgafb_init(void) hga_fix.smem_start = VGA_MAP_MEM(hga_vram_base); hga_fix.smem_len = hga_vram_len; - fb_info.flags = FBINFO_FLAG_DEFAULT; + fb_info.flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN; fb_info.var = hga_default_var; fb_info.fix = hga_fix; fb_info.monspecs.hfmin = 0; @@ -600,8 +612,8 @@ MODULE_LICENSE("GPL"); MODULE_PARM(nologo, "i"); MODULE_PARM_DESC(nologo, "Disables startup logo if != 0 (default=0)"); +module_init(hgafb_init); #ifdef MODULE -module_init(hgafb_init); module_exit(hgafb_exit); #endif