Writing device drivers in Linux

When a module device driver is loaded into the kernel, some preliminary tasks are usually performed like resetting the device, reserving RAM, reserving interrupts, and reserving input/output ports, etc.

Read more from: http://www.freesoftwaremagazine.com/articles/drivers_linux