Linux device driver for learning