Maybe reading LINUX DEVICE DRIVERS would help. The third edition is just out. While x86 centric, the book does explain the Linux driver model, the kernel API, workqueues and such. Don