vserver 1.9.3
[linux-2.6.git] / drivers / video / tgafb.c
index 3d02b0d..07ee320 100644 (file)
@@ -1426,7 +1426,8 @@ tgafb_pci_register(struct pci_dev *pdev, const struct pci_device_id *ent)
        pci_read_config_byte(pdev, PCI_REVISION_ID, &all->par.tga_chip_rev);
 
        /* Setup framebuffer.  */
-       all->info.flags = FBINFO_FLAG_DEFAULT;
+       all->info.flags = FBINFO_DEFAULT | FBINFO_HWACCEL_COPYAREA |
+                          FBINFO_HWACCEL_IMAGEBLIT | FBINFO_HWACCEL_FILLRECT;
        all->info.fbops = &tgafb_ops;
        all->info.screen_base = (char *) all->par.tga_fb_base;
        all->info.currcon = -1;
@@ -1476,12 +1477,6 @@ tgafb_pci_register(struct pci_dev *pdev, const struct pci_device_id *ent)
        return ret;
 }
 
-int __init
-tgafb_init(void)
-{
-       return pci_module_init(&tgafb_driver);
-}
-
 #ifdef MODULE
 static void __exit
 tgafb_pci_unregister(struct pci_dev *pdev)
@@ -1528,12 +1523,26 @@ tgafb_setup(char *arg)
 }
 #endif /* !MODULE */
 
+int __init
+tgafb_init(void)
+{
+#ifndef MODULE
+       char *option = NULL;
+
+       if (fb_get_options("tgafb", &option))
+               return -ENODEV;
+       tgafb_setup(option);
+#endif
+       return pci_module_init(&tgafb_driver);
+}
+
 /*
  *  Modularisation
  */
 
-#ifdef MODULE
 module_init(tgafb_init);
+
+#ifdef MODULE
 module_exit(tgafb_exit);
 #endif