Re: [ANNOUNCE] QLogic qla2xxx driver update available (v8.00.00b6).

From: Christoph Hellwig
Date: Fri Nov 07 2003 - 19:56:40 EST


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@xxxxxx> - 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/