Linux Device Drivers by Alessandro Rubini, Jonathan Corbet & Greg Kroah-Hartman