Kernel Module Examples
http://www.ittc.ku.edu/kusp/new/howto/kmods/index.html
These kernel module examples were created for students in the graduate level operating systems class (EECS 750). As an academic exercise, we showed them some basic ways of creating pseudo-device drivers. We started with the old IOCTL interface, moved to using SYSFS, and built off of that to make an example using HRTimers.
The purpose of these, combined information on the website, was to give the students more and more comlpex examples with less explanation. The idea being they'd grow more self sufficient and learn incorporate the pertinent subsystems into their own projects.