Messages in this thread | | | Date | Mon, 5 Apr 2004 23:03:45 -0400 (EDT) | From | "Calin A. Culianu" <> | Subject | Re: Stupid question re: register_cdrom() |
| |
On Tue, 6 Apr 2004, Tony Breeds wrote:
> On Mon, Apr 05, 2004 at 04:53:16PM -0400, Calin A. Culianu wrote: > > > > Let's say I was coding a cdrom emulator in software for kernel 2.4. I > > am unclear about register_cdrom(). Does register_cdrom() in > > cdrom.c take care of telling the kernel that my kdev_t major/minor > > combination in fact leads to a real driver? Or do I need to take care of > > that outside of regsiter_cdrom()? > > > > If not.. how do I tell the kernel data structures that my driver's major > > number does in fact point to a cdrom driver. Basically, I want my > > driver's major number to show up in /proc/devices.. > > > > This might be a stupid question, but I am not a linux kernel expert... > > Neither am I, therefore I hope you get a reply from someone else > refuting or acknowledging my claims. > > > I looks to me that the code that does the actual registration of the > driver is in drivers/ide/ide-cd.c NOT cdrom.c. Specifically > ide_cdrom_attach(). Said function eventually calls the register_cdrom() > you ask about. > > For writing a cdrom emulator You may want to look more closely at the > non-IDE/SCSI devices as they seem to register their driver data > themselves I had a quick read of aztcd.c, I think between cdrom.c and > aztcd.c you should be able to piece together what you want. > > Also Try reading http://www.xml.com/ldd/chapter/book/ for details on 2.4 > drivers >
This is actually very good advice. I need to look at sample code to more quickly bring myself up to speed on the kernel API. Having a good example in aztcd.c would probably do it. Thanks! (I have yet to read the code, but I just wanted to thank you for replying).
-Calin
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |