Re: [zd1211-devs] Rewrite project underway
Status: Beta
Brought to you by:
mayne
From: Timothy L. <tl...@ro...> - 2006-01-12 02:13:31
|
Daniel Drake wrote: > Daniel Drake wrote: > >> But the way it is done in the vendor driver (#ifdef everywhere) is bad >> and would not be accepted by the Linux netdriver maintainers. > > > Just a clarification here: > > The #ifdef approach is obviously bad because it only allows the driver > to support one-or-the-other types of device, so to support both you end > up building the driver twice, and at this point we're miles away from > the quality required for in-kernel drivers. > > But the point I was trying to make is that because the devices seem to > have a fair number of differences, the actual code for each device type > should be split into separate files/drivers. Cluttering up the general > code with any kind of if-condition for each device type (even if > implemented in the C code rather than #ifdef) is not acceptable unless > it only happens in a few select places. There are a number of drivers that have completely different card types combined. The 3c59x.c for example includes major differences between the vortex and Boomerang for example. Of course, that driver might just be "grandfathered" but depending how the differences occur it may be as simple as calling different functions depending on the revision. Tim |