Anatomy of a Linux® Device Driver