[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Linux Drivers, The Kernel, and a Driver List



Kevin Ross wrote:
Here's a code snippet from ne2k-pci.c, the NE2000-clone NIC driver:
static struct {
 char *name;
 int flags;
} pci_clone_list[] __devinitdata = {
 {"RealTek RTL-8029", REALTEK_FDX},
 {"Winbond 89C940", 0},
 {"Compex RL2000", 0},
 {"KTI ET32P2", 0},
 {"NetVin NV5000SC", 0},
 {"Via 86C926", ONLY_16BIT_IO},
 {"SureCom NE34", 0},
 {"Winbond W89C940F", 0},
 {"Holtek HT80232", ONLY_16BIT_IO | HOLTEK_FDX},
 {"Holtek HT80229", ONLY_32BIT_IO | HOLTEK_FDX | STOP_PG_0x60 },
 {0,}
};
static struct pci_device_id ne2k_pci_tbl[] __devinitdata = {
 { 0x10ec, 0x8029, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_RealTek_RTL_8029 },
 { 0x1050, 0x0940, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_Winbond_89C940 },
 { 0x11f6, 0x1401, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_Compex_RL2000 },
 { 0x8e2e, 0x3000, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_KTI_ET32P2 },
 { 0x4a14, 0x5000, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_NetVin_NV5000SC },
 { 0x1106, 0x0926, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_Via_86C926 },
 { 0x10bd, 0x0e34, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_SureCom_NE34 },
 { 0x1050, 0x5a5a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_Winbond_W89C940F },
 { 0x12c3, 0x0058, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_Holtek_HT80232 },
 { 0x12c3, 0x5598, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_Holtek_HT80229 },
 { 0, }
};
MODULE_DEVICE_TABLE(pci, ne2k_pci_tbl);
As you can see, only a chipset name is given, not a particular manufacturer/model of NIC. Also, these structs are all static, meaning they are private to the module. While it is theoretically possible to write a program to go through the entire kernel source tree, parsing these text files, looking for these chipset names, and to list them out, it would be very difficult. Mainly because there's no standard method to represent these names in each driver. Drivers aren't even required to have these names. Having a comprehensive list of supported chipsets would be useful, though. If some text-parsing wizard out there would like to write such a program, it would be interesting.

-- Kevin




This sounds like if I know for a fact that the device I'm interested in uses "Chipset Awesome 100c", then I could start grep'ing through the kernel source for parts and permutations of the chipset name hoping to find some matches that indicate that there's a driver for it.

Is that accurate?

Thanks,
- GM


--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.432 / Virus Database: 268.16.10/624 - Release Date: 1/12/2007 2:04 PM



Reply to: