On Tue, Mar 02, 2010 at 04:34:39PM -0500, Jeff Garzik wrote:
As demonstrated in libata-dev.git#libahci, I think the best route is
to move generic code into libahci. In #libahci you will see
libahci -> common code
ahci -> standard PCI driver, req's libahci
mv-ahci -> Marvell AHCI driver, req's libahci
acard-ahci -> ACard AHCI driver, req's libahci
and to this we could easily add
platform-ahci -> platform AHCI driver, req's libahci
WARNING: #libahci should not be used directly, it is meant for
illustration purposes only. It has not been properly updated for
several recent ahci.c changes upstream, which implies that the
trivial-and-obvious task of moving generic code from ahci.c to
libahci.c must be redone.
Well, do I understand correctly that the only issue is the
file names? I.e. in my patches, instead of keeping the library
code in ahci.c, I should move the library code into libahci.c,
and keep the PCI code in ahci.c?
Because, as far as I can see, the result of my patches is pretty
much the same as in #libahci, except the file names and more
things that can be reused (i.e. ahci_sht, ahci_ops -- I kept
all this in the library part, since we want to share it with
the platform driver).
Also, I don't export function that aren't currently used
by PCI or platform drivers, but in #libahci there are all
exported. Should I keep it my way, or should I export all the
functions (even if there are no any users of these)?