Linux device drivers - interrupts, concurrent requests, and periodic event handling