diff options
author | Thierry Vignaud <tvignaud@mandriva.org> | 2005-02-17 14:15:02 +0000 |
---|---|---|
committer | Thierry Vignaud <tvignaud@mandriva.org> | 2005-02-17 14:15:02 +0000 |
commit | 7e3f02d7b898faf370a9c5e4d416d7927a8ce2b2 (patch) | |
tree | 1347062dffe147eeb2a78fd1da94e737017cc8b2 | |
parent | fb9e762d04e7f7e1170dedc24d5c84f514ed83a0 (diff) | |
download | ldetect-7e3f02d7b898faf370a9c5e4d416d7927a8ce2b2.tar ldetect-7e3f02d7b898faf370a9c5e4d416d7927a8ce2b2.tar.gz ldetect-7e3f02d7b898faf370a9c5e4d416d7927a8ce2b2.tar.bz2 ldetect-7e3f02d7b898faf370a9c5e4d416d7927a8ce2b2.tar.xz ldetect-7e3f02d7b898faf370a9c5e4d416d7927a8ce2b2.zip |
handle a few more special cases (gdth, snd-vx222, 8139too, and agp bridges)
-rw-r--r-- | pci.c | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -80,8 +80,28 @@ extern struct pciusb_entries pci_probe(void) { } else if (e->class_ == PCI_CLASS_BRIDGE_CARDBUS) { e->module = strdup("yenta_socket"); + } else if (e->class_ == (PCI_CLASS_BRIDGE_HOST << 8)) { /* AGP */ + if (e->vendor == 0x10b9) + e->module = strdup("ali-agp"); + else if (e->vendor == 0x1002) + e->module = strdup("ati-agp"); + else if (e->vendor == 0x1039) + e->module = strdup("sis-agp"); + else if (e->vendor == 0x1166) + e->module = strdup("sworks-agp"); + else if (e->vendor == 0x1279) + e->module = strdup("efficeon-agp"); + } else if (e->device == 0x8139) { + if (e->subvendor == 0x8139 && e->subdevice == 0x10ec + || e->subvendor == 0x1186 && e->subdevice == 0x1300 + || e->subvendor == 0x13d1 && e->subdevice == 0xab06) + e->module = strdup("8139too"); } else if (e->vendor == 0x1106 && e->class_ == PCI_CLASS_STORAGE_IDE) { e->module = strdup("sata_via"); + } else if (e->vendor == 0x10b5 && (e->device == 0x9030 || e->device == 0x9050) && e->subvendor == 0x1369) { + e->module = strdup("snd-vx222"); + } else if (e->vendor == 0x1119) { /* Vortex only makes RAID controllers. */ + e->module = strdup("gdth"); } close(devf); |