vserver 1.9.3
[linux-2.6.git] / drivers / video / amifb.c
index 95ea71c..baa4fa0 100644 (file)
@@ -1307,6 +1307,8 @@ static int amifb_set_par(struct fb_info *info)
                info->fix.ywrapstep = 1;
                info->fix.xpanstep = 0;
                info->fix.ypanstep = 0;
+               info->flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YWRAP |
+                   FBINFO_READS_FAST; /* override SCROLL_REDRAW */
        } else {
                info->fix.ywrapstep = 0;
                if (par->vmode & FB_VMODE_SMOOTH_XPAN)
@@ -1314,6 +1316,7 @@ static int amifb_set_par(struct fb_info *info)
                else
                        info->fix.xpanstep = 16<<maxfmode;
                info->fix.ypanstep = 1;
+               info->flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN;
        }
        return 0;
 }
@@ -2254,6 +2257,13 @@ int __init amifb_init(void)
        u_long chipptr;
        u_int defmode;
 
+#ifndef MODULE
+       char *option = NULL;
+
+       if (fb_get_options("amifb", &option))
+               return -ENODEV;
+       amifb_setup(option);
+#endif
        if (!MACH_IS_AMIGA || !AMIGAHW_PRESENT(AMI_VIDEO))
                return -ENXIO;
 
@@ -2382,7 +2392,7 @@ default_chipset:
 
        fb_info.fbops = &amifb_ops;
        fb_info.par = &currentpar;
-       fb_info.flags = FBINFO_FLAG_DEFAULT;
+       fb_info.flags = FBINFO_DEFAULT;
 
        if (!fb_find_mode(&fb_info.var, &fb_info, mode_option, ami_modedb,
                          NUM_TOTAL_MODES, &ami_modedb[defmode], 4)) {
@@ -3811,14 +3821,11 @@ static void ami_rebuild_copper(void)
 }
 
 
+module_init(amifb_init);
+
 #ifdef MODULE
 MODULE_LICENSE("GPL");
 
-int init_module(void)
-{
-       return amifb_init();
-}
-
 void cleanup_module(void)
 {
        unregister_framebuffer(&fb_info);