As part of our efforts to get the Cavium OCTEON processor support
merged (see: http://marc.info/?l=linux-mips&m=122600487218824), we
have this CF driver for your consideration.
Most OCTEON variants have *no* DMA or interrupt support on the CF
interface so a simple bit-banging approach is taken. Although if DMA is
available, we do take advantage of it.
The register definitions are part of the chip support patch set
mentioned above, and are not included here.
At this point I would like to get feedback as to whether this is a
good approach for the CF driver, or perhaps generate ideas about other
possible approaches.
It's totally unacceptable for drivers/ide/ as this is self-containeed driver no using IDE core for anything, so this can only fit well to drivers/block/.
Not quite true, it is using ide_fix_driveid() and ide_fixstring(), but I get your point.
OTOH, CF support via self-contained driver is certainly a waste of code since IDE core and (libata) are here to drive the CF devices as well. What we need is a "normal" IDE or libata (at your option) driver.
I will have to try it to see if the hardware has the necessary support.
Thanks,
David Daney