https://www.packtpub.com/product/mastering-linux-device-driver-development/9781789342048