Linux device driver for kernel 3.x