A pointer by Tobias Klauser on the debian-unizh ml just reminded me of this great (and free! :) book:
LWN: Linux Device Drivers, Third Edition
Citing the authors:
This is the web site for the Third Edition of Linux Device Drivers, by Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman. For the moment, only the finished PDF files are available; we do intend to make an HTML version and the DocBook source available as well.
This book is available under the terms of the Creative Commons Attribution-ShareAlike 2.0 license. That means that you are free to download and redistribute it. The development of the book was made possible, however, by those who purchase a copy from O’Reilly or elsewhere.
LDD3 is current as of the 2.6.10 kernel. See the LWN 2.6 API changes page for information on subsequent changes.