[PATCH 1/2] drivers/ata: PATA driver for Celleb

Benjamin Herrenschmidt benh at kernel.crashing.org
Fri Jan 12 08:36:39 EST 2007


> Actually, an even stronger reason to use an abstraction is the
> fact that this is not really a PCI device and you therefore
> don't use readl/writel, but rather in_be32/out_be32.
> 
> If you think the code gets better by using the low-level calls,
> then it would be good if you also do the patch to implement them.
> 
> My feeling about your driver is that the amount of code duplication
> is far too much, and it should better be based on generalizing the
> existing libata code to deal with whatever you need to handle
> differently.

I've been having a quick look at it since at least another driver has a
similar issue (needing to replace the taskfile accessors for individual
register accesses). Right now, you can only re-implement the whole reset
handling, you can't have it just use different register accessors. I
think that's a waste.

Best way might be to have a hook for individual register access... the
reset code basically needs the control register and the LBA for the
signature (and status but there's already a hook for it).

Ben.





More information about the Linuxppc-dev mailing list