]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/video/gxt4500.c
Merge remote-tracking branch 'asoc/fix/cs4271' into tmp
[karo-tx-linux.git] / drivers / video / gxt4500.c
index 0e9afa41d1630589402d7af902d33ce02ee85105..c35663f6a54a10231e05e9a00e973ad856cd5a00 100644 (file)
@@ -1,5 +1,6 @@
 /*
- * Frame buffer device for IBM GXT4500P and GXT6000P display adaptors
+ * Frame buffer device for IBM GXT4500P/6500P and GXT4000P/6000P
+ * display adaptors
  *
  * Copyright (C) 2006 Paul Mackerras, IBM Corp. <paulus@samba.org>
  */
@@ -14,6 +15,8 @@
 #include <linux/string.h>
 
 #define PCI_DEVICE_ID_IBM_GXT4500P     0x21c
+#define PCI_DEVICE_ID_IBM_GXT6500P     0x21b
+#define PCI_DEVICE_ID_IBM_GXT4000P     0x16e
 #define PCI_DEVICE_ID_IBM_GXT6000P     0x170
 
 /* GXT4500P registers */
@@ -156,7 +159,7 @@ struct gxt4500_par {
 static char *mode_option;
 
 /* default mode: 1280x1024 @ 60 Hz, 8 bpp */
-static const struct fb_videomode defaultmode __devinitconst = {
+static const struct fb_videomode defaultmode = {
        .refresh = 60,
        .xres = 1280,
        .yres = 1024,
@@ -173,6 +176,8 @@ static const struct fb_videomode defaultmode __devinitconst = {
 /* List of supported cards */
 enum gxt_cards {
        GXT4500P,
+       GXT6500P,
+       GXT4000P,
        GXT6000P
 };
 
@@ -182,6 +187,8 @@ static const struct cardinfo {
        const char *cardname;
 } cardinfo[] = {
        [GXT4500P] = { .refclk_ps = 9259, .cardname = "IBM GXT4500P" },
+       [GXT6500P] = { .refclk_ps = 9259, .cardname = "IBM GXT6500P" },
+       [GXT4000P] = { .refclk_ps = 40000, .cardname = "IBM GXT4000P" },
        [GXT6000P] = { .refclk_ps = 40000, .cardname = "IBM GXT6000P" },
 };
 
@@ -581,7 +588,7 @@ static int gxt4500_blank(int blank, struct fb_info *info)
        return 0;
 }
 
-static const struct fb_fix_screeninfo gxt4500_fix __devinitconst = {
+static const struct fb_fix_screeninfo gxt4500_fix = {
        .id = "IBM GXT4500P",
        .type = FB_TYPE_PACKED_PIXELS,
        .visual = FB_VISUAL_PSEUDOCOLOR,
@@ -603,8 +610,7 @@ static struct fb_ops gxt4500_ops = {
 };
 
 /* PCI functions */
-static int __devinit gxt4500_probe(struct pci_dev *pdev,
-                                  const struct pci_device_id *ent)
+static int gxt4500_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 {
        int err;
        unsigned long reg_phys, fb_phys;
@@ -713,7 +719,7 @@ static int __devinit gxt4500_probe(struct pci_dev *pdev,
        return -ENODEV;
 }
 
-static void __devexit gxt4500_remove(struct pci_dev *pdev)
+static void gxt4500_remove(struct pci_dev *pdev)
 {
        struct fb_info *info = pci_get_drvdata(pdev);
        struct gxt4500_par *par;
@@ -736,6 +742,10 @@ static void __devexit gxt4500_remove(struct pci_dev *pdev)
 static const struct pci_device_id gxt4500_pci_tbl[] = {
        { PCI_DEVICE(PCI_VENDOR_ID_IBM, PCI_DEVICE_ID_IBM_GXT4500P),
          .driver_data = GXT4500P },
+       { PCI_DEVICE(PCI_VENDOR_ID_IBM, PCI_DEVICE_ID_IBM_GXT6500P),
+         .driver_data = GXT6500P },
+       { PCI_DEVICE(PCI_VENDOR_ID_IBM, PCI_DEVICE_ID_IBM_GXT4000P),
+         .driver_data = GXT4000P },
        { PCI_DEVICE(PCI_VENDOR_ID_IBM, PCI_DEVICE_ID_IBM_GXT6000P),
          .driver_data = GXT6000P },
        { 0 }
@@ -747,10 +757,10 @@ static struct pci_driver gxt4500_driver = {
        .name = "gxt4500",
        .id_table = gxt4500_pci_tbl,
        .probe = gxt4500_probe,
-       .remove = __devexit_p(gxt4500_remove),
+       .remove = gxt4500_remove,
 };
 
-static int __devinit gxt4500_init(void)
+static int gxt4500_init(void)
 {
 #ifndef MODULE
        if (fb_get_options("gxt4500", &mode_option))
@@ -768,7 +778,7 @@ static void __exit gxt4500_exit(void)
 module_exit(gxt4500_exit);
 
 MODULE_AUTHOR("Paul Mackerras <paulus@samba.org>");
-MODULE_DESCRIPTION("FBDev driver for IBM GXT4500P/6000P");
+MODULE_DESCRIPTION("FBDev driver for IBM GXT4500P/6500P and GXT4000P/6000P");
 MODULE_LICENSE("GPL");
 module_param(mode_option, charp, 0);
 MODULE_PARM_DESC(mode_option, "Specify resolution as \"<xres>x<yres>[-<bpp>][@<refresh>]\"");