"Does the idea of writing a Linux device driver sound
difficult to imagine? If you have some basic programming
experience, the task is simpler than you think. Get started by
reading this quick primer on device driver programming."
"What do I need to know about writing drivers? Basic knowledge
of kernel compilation, a good deal of programming experience in C
under Linux and lastly, the right techniques of data structures,
like linked list is essential along with their data types."
"The first thing a programmer must know before attempting to
write a driver, is how the Linux kernel source compiles, paying
attention to the compilation process (the gcc compiler flags)."