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

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



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



Reply to: