]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/video/tridentfb.c
Merge branch 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6
[linux-2.6-omap-h63xx.git] / drivers / video / tridentfb.c
index 919ce75db9e2ce1a0bcf6ce71d498eace0233c38..bd54cd0de39af13fc4170665878ed63ac1af4acb 100644 (file)
@@ -58,7 +58,7 @@ static int displaytype;
 /* defaults which are normally overriden by user values */
 
 /* video mode */
-static char *mode = "640x480";
+static char *mode_option __devinitdata = "640x480";
 static int bpp = 8;
 
 static int noaccel;
@@ -73,7 +73,10 @@ static int memsize;
 static int memdiff;
 static int nativex;
 
-module_param(mode, charp, 0);
+module_param(mode_option, charp, 0);
+MODULE_PARM_DESC(mode_option, "Initial video mode e.g. '648x480-8@60'");
+module_param_named(mode, mode_option, charp, 0);
+MODULE_PARM_DESC(mode, "Initial video mode e.g. '648x480-8@60' (deprecated)");
 module_param(bpp, int, 0);
 module_param(center, int, 0);
 module_param(stretch, int, 0);
@@ -566,44 +569,32 @@ static inline void write3CE(int reg, unsigned char val)
 
 static void enable_mmio(void)
 {
-       unsigned char tmp;
-
        /* Goto New Mode */
        outb(0x0B, 0x3C4);
        inb(0x3C5);
 
        /* Unprotect registers */
        outb(NewMode1, 0x3C4);
-       tmp = inb(0x3C5);
        outb(0x80, 0x3C5);
 
        /* Enable MMIO */
        outb(PCIReg, 0x3D4);
        outb(inb(0x3D5) | 0x01, 0x3D5);
-
-       t_outb(NewMode1, 0x3C4);
-       t_outb(tmp, 0x3C5);
 }
 
 static void disable_mmio(void)
 {
-       unsigned char tmp;
-
        /* Goto New Mode */
        t_outb(0x0B, 0x3C4);
        t_inb(0x3C5);
 
        /* Unprotect registers */
        t_outb(NewMode1, 0x3C4);
-       tmp = t_inb(0x3C5);
        t_outb(0x80, 0x3C5);
 
        /* Disable MMIO */
        t_outb(PCIReg, 0x3D4);
        t_outb(t_inb(0x3D5) & ~0x01, 0x3D5);
-
-       outb(NewMode1, 0x3C4);
-       outb(tmp, 0x3C5);
 }
 
 #define crtc_unlock()  write3X4(CRTVSyncEnd, read3X4(CRTVSyncEnd) & 0x7F)
@@ -757,7 +748,7 @@ static unsigned int __devinit get_memsize(void)
                        switch (tmp) {
 
                        case 0x01:
-                               k = 512;
+                               k = 512 * Kb;
                                break;
                        case 0x02:
                                k = 6 * Mb;     /* XP */
@@ -1309,7 +1300,8 @@ static int __devinit trident_pci_probe(struct pci_dev * dev,
 #endif
        fb_info.pseudo_palette = pseudo_pal;
 
-       if (!fb_find_mode(&default_var, &fb_info, mode, NULL, 0, NULL, bpp)) {
+       if (!fb_find_mode(&default_var, &fb_info,
+                         mode_option, NULL, 0, NULL, bpp)) {
                err = -EINVAL;
                goto out_unmap2;
        }
@@ -1397,7 +1389,7 @@ static struct pci_driver tridentfb_pci_driver = {
  *     video=trident:800x600,bpp=16,noaccel
  */
 #ifndef MODULE
-static int tridentfb_setup(char *options)
+static int __init tridentfb_setup(char *options)
 {
        char *opt;
        if (!options || !*options)
@@ -1424,7 +1416,7 @@ static int tridentfb_setup(char *options)
                else if (!strncmp(opt, "nativex=", 8))
                        nativex = simple_strtoul(opt + 8, NULL, 0);
                else
-                       mode = opt;
+                       mode_option = opt;
        }
        return 0;
 }