Hi,

it appears that the chips&technologies X driver was partially broken
during libpciaccess conversion. Thanks to analysis by Marien Swart in X.Org
bugzilla 18122 and a similar fix by Mark Kettenis for the radeon driver,
I think this patch should fix it.

So if you have a machine with a C&T VGA card in it, I'd appreciate if
you could try the attached patch or otherwise review it.
-- 
Matthieu Herrb

commit 032f3bcad5c13fdd5296a6354e697364e878eda6
Author: Matthieu Herrb <[email protected]>
Date:   Tue Jun 30 09:46:44 2009 +0200

    Fix PCI card probe and chipset detection.
    
    it appears that the chips&technologies X driver was partially broken
    during libpciaccess conversion. Thanks to analysis by Marien Swart in
    bug #18122 and a similar fix by Mark Kettenis for the radeon
    driver, this patch should fix it.

diff --git a/src/ct_driver.c b/src/ct_driver.c
index 6ecc89e..c462fc6 100644
--- a/src/ct_driver.c
+++ b/src/ct_driver.c
@@ -480,14 +480,14 @@ static DisplayModeRec ChipsNTSCMode = {
   { PCI_VENDOR_CHIPSTECH, (d), PCI_MATCH_ANY, PCI_MATCH_ANY, 0, 0, (i) }
 
 static const struct pci_id_match chips_device_match[] = {
-  CHIPS_DEVICE_MATCH(PCI_CHIP_65545, 0),
-  CHIPS_DEVICE_MATCH(PCI_CHIP_65548, 0),
-  CHIPS_DEVICE_MATCH(PCI_CHIP_65550, 0),
-  CHIPS_DEVICE_MATCH(PCI_CHIP_65554, 0),
-  CHIPS_DEVICE_MATCH(PCI_CHIP_65555, 0),
-  CHIPS_DEVICE_MATCH(PCI_CHIP_68554, 0),
-  CHIPS_DEVICE_MATCH(PCI_CHIP_69000, 0),
-  CHIPS_DEVICE_MATCH(PCI_CHIP_69030, 0),
+  CHIPS_DEVICE_MATCH(PCI_CHIP_65545, CHIPS_CT65545),
+  CHIPS_DEVICE_MATCH(PCI_CHIP_65548, CHIPS_CT65548),
+  CHIPS_DEVICE_MATCH(PCI_CHIP_65550, CHIPS_CT65550),
+  CHIPS_DEVICE_MATCH(PCI_CHIP_65554, CHIPS_CT65554),
+  CHIPS_DEVICE_MATCH(PCI_CHIP_65555, CHIPS_CT65555),
+  CHIPS_DEVICE_MATCH(PCI_CHIP_68554, CHIPS_CT68554),
+  CHIPS_DEVICE_MATCH(PCI_CHIP_69000, CHIPS_CT69000),
+  CHIPS_DEVICE_MATCH(PCI_CHIP_69030, CHIPS_CT69030),
   { 0, 0, 0 },
 };
 #endif
@@ -722,7 +722,7 @@ chipsSetup(pointer module, pointer opts, int *errmaj, int 
*errmin)
 
     if (!setupDone) {
        setupDone = TRUE;
-        xf86AddDriver(&CHIPS, module, 0);
+        xf86AddDriver(&CHIPS, module, HaveDriverFuncs);
 
        /*
         * Modules that this driver always requires can be loaded here
_______________________________________________
xorg-devel mailing list
[email protected]
http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to