From 7e3f02d7b898faf370a9c5e4d416d7927a8ce2b2 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Thu, 17 Feb 2005 14:15:02 +0000 Subject: handle a few more special cases (gdth, snd-vx222, 8139too, and agp bridges) --- pci.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/pci.c b/pci.c index 89856cb..f25ba48 100644 --- a/pci.c +++ b/pci.c @@ -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); -- cgit v1.2.1