This is a quick hack way to get the PCI vendor:dev codes for the
stuff we want to support. 

The files 

    good-video.lst
    good-eth.lst
    good--scsi.lst

contain the latest list of the device IDs we have used. The files

    exclude.lst

contain the list of entries we ignored. 
These lists are based on the file linux/drivers/pci/pci.c
from the kernel source. When a pci.c is to be used, first run the script

pcidevinfomerge < pci.c

which assumes that the exclude and good- files exist in the current directory.
It uses /usr/include/linux/pci.h for some information. If you have a newer
kernel pci.c you want to integrate, you'll have to make sure either
/usr/include/linux/pci.h is also updated, or muck with the script to read
the right on.
This command will output new entries which are not in either the exclude or
the good lists. You will need to review these entries and stick them
either in the good or exclude lists. 
A list of all devices in pci.c can be created with the command

pcidevinfo < pci.c

Once a good list is made, run the command

makepciids

This will output some C code which defines a struct with the vendor/dev ids
converted to numeric values. This ASSUMES that the /usr/include/linux/pci.h
is recent enough to contain all the vendor/device ids in the pci.c file used
to make the good-list.lst. It will make C code in pci-ids-temp.h.

The last step is to convert the English device names in the C code to the
correct module name. This requires a mapping file, which must be named
map-[eth,scsi,video].lst. Then run the command

mappcinames < pci-ids-temp.h > pci-ids.h

This final output can be integrated into source code and give you a
mapping from pci vendor:device id into a module. BTW, if no mapping
exists for a certain PCI id, the value "UNKNOWN" is used for the
module. Source code should check the returned value against this to be
sure a valid mapping exists!






