LINUX Device Drivers (Photocopy Edition)

Author: (USA) Corbet, (USA) Rubini, (USA) Kroah-Hartman
Publisher:
Publish Date: 2005-06-01
Features: This classic book has been updated to the third edition. It is a must-read for those who wish to support computer peripherals, run new hardware, or simply have an interest in general Linux kernel programming. Linux Device Drivers reveals information on how to write drivers for most devices, which has been shared so far only through word-of-mouth or implicit source code comments. The authors are leaders in the Linux community. Jonathan Corbet is an irregular contributor to the kernel open-source project and the executive editor of the highly regarded LWN.net news and information site. Alessandro Rubini is an open-source provider of Linux code and a central figure in the active Italian Linux community. Greg Kroah-Hartman is currently the maintainer of the kernel code related to USB, PCI, and the driver core subsystem described in this book. The new edition of this book has been thoroughly updated based on the Linux kernel 2.6.10. This version of the kernel is more rationalized and simplifies several methods for general tasks, such as plug-and-play, interaction between user space via the sysfs filesystem, and multi-device management on standard buses. You don’t need to be a kernel expert to understand and enjoy this book; all you need is a background in C and Unix system calls. Guided by detailed examples that compile and run without requiring special hardware devices, you will learn how to write drivers for character devices, block devices, and network interfaces. The PCI, USB, and tty (terminal) subsystems are each covered in separate chapters. This book provides explanations on address spaces, asynchronous events, and I/O for those curious about how operating systems work. The topics covered in this book include:
Character devices, block devices, tty (terminals), and network drivers
Driver debugging
Interrupts
Timing issues
Memory management and DMA
Driver model and sysfs
Hot-plug devices
General buses, including special requirements for SCSI, PCI, USB, and IEEE1394 (FireWire).

📌 Related Posts