On 8/4/06, Bahadir Balban <bilgehan.balban@xxxxxxxxx> wrote:
Hi, I am new to ide and I need to write a simple driver for a compact flash interface (which uses ide command set). I need to do this because the interface is fairly buggy and incomplete, and the linux ide disk driver available doesn't work with it. I couldn't figure out where to start. If I use libata functions in drivers/scsi directory, is that relevant? I thought ata was almost synonymous with ide, then why do all files in drivers/ide have no relation to libata? Also ldd3 explains block device api, but not how requests are executed. How do I glue a block driver request for execution over the ide interface? Many thanks, Bahadir
The kernel IDE driver subsystem is a real mess from what I understand and is officially on its way out to be replaced by libata w/pata support, but that may take a while yet. Alan Cox used to be the IDE driver maintainer. Currently the IDE driver subsystem is unmaintained. IIRC, Early in 2.6 (really 2.5) they made an effort to replace the whole IDE subsystem, that failed. What they did do a few years ago is implement a new libata system exclusively for SATA controllers/drives. (That has gotten some major upgrades recently, so be sure to work with 2.6.18-rcX code if you decide to work to go that way.) Further, Alan Cox has recently taken on the job of porting all the PATA (IDE) drivers to work as part of libata. He has posted a lot of his work to the lkml-libata mailinglist in the last couple of months, but I'm not sure how much of it has made it into 2.6.18-rc3. Once that gets into mainline, I suspect some distros will start giving people the choice of which set of IDE drivers the want to use. The old IDE subsystem ones, or the new libata subsystem ones. Then at some point the old IDE driver subsystem will get dropped from mainline. Also, there has been other discussion related to CF (compact flash) drivers on the lkml-libata mailinglist recently, so go scan their archives. I don't remember if the posts related to the old IDE subsystem or the new libata subsystem. Greg -- Greg Freemyer The Norcross Group Forensics for the 21st Century -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/