I agree with Xhi about the O'Reilly book.
I would urge you to make use of each of these three resources:
1. Linux Device Drivers, 3rd Ed, Corbet, Rubini, Kroah-Hartman
http://www.bookpool.com/sm/0596005903
<= Probably the best on the mechanics of coding, compiling and troubleshooting drivers
2. Linux Kernel Development, 2nd Ed, Love
http://www.bookpool.com/sm/0672327201
<= Gives you the necessary background on how kernel drivers ... and the kernel in
general - works. Absolutely essential background for *writing* kernel drivers.
3. The Linux kernel itself:
http://www.kernel.org/
<= Linux kernel home page and downloads
http:/www.tux.org/lkml
<= Linux kernel developer's mailing list
IMHO .. PSM