Messages in this thread | | | Date | Fri, 7 Nov 2003 09:58:14 +0000 | From | Christoph Hellwig <> | Subject | Re: [ANNOUNCE] QLogic qla2xxx driver update available (v8.00.00b6). |
| |
On Thu, Nov 06, 2003 at 05:53:06PM +0000, Matthew Wilcox wrote: > > > > o Build process -- (three module interface for the ISPs), I > > personally like the idea of a shared library module used > > between the different ISP drivers. Many others have voiced > > their frustrations with the single driver-binary for each > > ISP type that the directive from management is to have a > > single binary for all *future* products including the > > ISP23xx (ISP2300/ISP2310/ISP2312/ISP2322) chips. > > > > That unfortunately leaves ISP2100 and ISP2200 on the > > periphery of development efforts. > > I wouldn't see a problem with having a structure like this: > > ql2100.c > ql2200.c > ql23xx.c > qllib.c > > and linking in whichever files are selected. But you definitely only want > to build qllib.c once.
Well, if you look at the driver you'll need all files except the firmware anyway. And now that we have the request_firmware interface anyway I'd bebetter to move that out of the module, at least once initramfs settles down a bit.
The issue is more lots of tiny ifdefs - those in the C source could be easily hidden using pdev->device comparisms (and I think I'm gonna submit a patch for that soon, the driver already does that for ISP23XX variants without a proper abstraction). Those in the headers are a bit more difficult as the register layout is a bit different sometimes. But with doing these as unions instead of ifdefs and splitted subroutines this should be managæble as well, the feral driver already does this nicely.
-- Christoph Hellwig <hch@lst.de> - Freelance Hacker Contact me for driver hacking and kernel development consulting - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |