[EMAIL PROTECTED] wrote:

> You see, I can't even begin to write one line of code, because I know
> nothing about what I am supposed to do. Sure, I know the basics, I have
> written toy device drivers for Linux, I know how to implement a driver for
> Minix, understand the main loop, handling messages from the Minix kernel,
> how to fill in a device structure correctly with pointers to functions that
> implement the device independant interface, etc. I know this stuff, that's
> not a problem. My problem is what is the I/O address range? Can I access it
> in C? Do I use DMA? When there are commands that can be implemented (set A,
> I'll call them) and another set of functions when the device uses the ATA
> Packet Interface (I'll call them set B) then which set? And the standard of
> ATAPI makes it clear that the Packet Interface is elsewhere, not defined in
> the ATAPI document.


I've got some suggestions for you.
First: be humble (sorry, I don't want to offend you at all) read the 
LKML FAQ. the address is at the very end of this email. it would give 
you the pointers you want. (including books/web pages).

second: bear in mind that Linux driver structure is not like minix. 
minix is Micro kernel, Linux is not. therefore, there is no main loop 
here. you just register the required device specific operations and you 
will receive all open/read/write/ioctl/close requests. (pls. See the 
design of Unix operating system for more information).

third: look for a similar device driver implementation in kernel (well, 
it is learning in the hard way :-) ) .

Good luck,

Masoud

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to