commit 032f3bcad5c13fdd5296a6354e697364e878eda6 Author: Matthieu Herrb 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