> > After playing with dummy_cs.c in conjunction with my multifunction card > i found that it finds the io and irq for what seems to be the modem > function of the card. > > How would i modify it to find the ethernet function instead? It depends on the contents of the CIS. If you are unlucky, then the CIS only describes the modem. This is a common misfeature. Look at the output of "dump_cis" to see. > If so how do i know which function i have found? If the CIS describes both functions (look for a "mfc" structure with separate sections for the serial and network functions), then the PCMCIA services will automatically show only part of the CIS to your driver, based on how the config file entry is set up. Look at the other multifunction entries: ones that say things like: bind "pcnet_cs" to 0, "serial_cs" to 1 are telling the CIS parser to pass function-0 tuples to the pcnet_cs driver, and function-1 tuples to the serial_cs driver. For some cards, the CIS doesn't have separate sections, and you'll see: bind "pcnet_cs", "serial_cs" which relies on the pcnet_cs driver to figure out, somehow, that this is a multifunction card, and then set up the IO regions for both card functions. > Also i have found that the card i am writing for uses a i82595 chip and > there is already a linux driver for this card. Could i load that module > like the 8390 module is loaded and use my own driver to interface into > it in the same way pcnet_cs uses 8390? As a quick hack, you might be able to load the i82595 driver after the dummy_cs driver. The 8390 module has a bunch of "hooks" so it can be shared by related drivers. You could maybe modify the i82595 driver to do something similar. -- Dave |