Essential Linux Device Drivers
by Sreekrishnan Venkateswaran
Print ISBN-10: 0-13-239655-6
Print ISBN-13: 978-0-13-239655-4
Overview
"Probably the most wide ranging and complete Linux device driver book I've read."
--Alan Cox, Linux Guru and Key Kernel Developer
"Very comprehensive and detailed, covering almost every single Linux device driver type."
--Theodore Ts'o, First Linux Kernel Developer in North America and Chief Platform Strategist of the Linux
Foundation
The Most Practical Guide to Writing Linux Device Drivers
Linux now offers an exceptionally robust environment for driver development: with today's kernels, what once
required years of development time can be accomplished in days. In this practical, example-driven book, one of
the world's most experienced Linux driver developers systematically demonstrates how to develop reliable Linux
drivers for virtually any device. Essential Linux Device Drivers is for any programmer with a working
knowledge of operating systems and C, including programmers who have never written drivers before.
Sreekrishnan Venkateswaran focuses on the essentials, bringing together all the concepts and techniques you
need, while avoiding topics that only matter in highly specialized situations. Venkateswaran begins by reviewing
the Linux 2.6 kernel capabilities that are most relevant to driver developers. He introduces simple device
classes; then turns to serial buses such as I2C and SPI; external buses such as PCMCIA, PCI, and USB; video,
audio, block, network, and wireless device drivers; user-space drivers; and drivers for embedded Linux–one of
today's fastest growing areas of Linux development. For each, Venkateswaran explains the technology, inspects
relevant kernel source files, and walks through developing a complete example.
• Addresses drivers discussed in no other book, including drivers for I2C, video, sound, PCMCIA, and different
types of flash memory
• Demystifies essential kernel services and facilities, including kernel threads and helper interfaces
• Teaches polling, asynchronous notification, and I/O control
• Introduces the Inter-Integrated Circuit Protocol for embedded Linux drivers
• Covers multimedia device drivers using the Linux-Video subsystem and Linux-Audio framework
• Shows how Linux implements support for wireless technologies such as Bluetooth, Infrared, WiFi, and cellular
networking
• Describes the entire driver development lifecycle, through debugging and maintenance
• Includes reference appendixes covering Linux assembly, BIOS calls, and Seq files
Essential Linux Device Drivers
by Sreekrishnan Venkateswaran
Print ISBN-10: 0-13-239655-6
Print ISBN-13: 978-0-13-239655-4
Overview
"Probably the most wide ranging and complete Linux device driver book I've read."
--Alan Cox, Linux Guru and Key Kernel Developer
"Very comprehensive and detailed, covering almost every single Linux device driver type."
--Theodore Ts'o, First Linux Kernel Developer in North America and Chief Platform Strategist of the Linux
Foundation
The Most Practical Guide to Writing Linux Device Drivers
Linux now offers an exceptionally robust environment for driver development: with today's kernels, what once
required years of development time can be accomplished in days. In this practical, example-driven book, one of
the world's most experienced Linux driver developers systematically demonstrates how to develop reliable Linux
drivers for virtually any device. Essential Linux Device Drivers is for any programmer with a working
knowledge of operating systems and C, including programmers who have never written drivers before.
Sreekrishnan Venkateswaran focuses on the essentials, bringing together all the concepts and techniques you
need, while avoiding topics that only matter in highly specialized situations. Venkateswaran begins by reviewing
the Linux 2.6 kernel capabilities that are most relevant to driver developers. He introduces simple device
classes; then turns to serial buses such as I2C and SPI; external buses such as PCMCIA, PCI, and USB; video,
audio, block, network, and wireless device drivers; user-space drivers; and drivers for embedded Linux–one of
today's fastest growing areas of Linux development. For each, Venkateswaran explains the technology, inspects
relevant kernel source files, and walks through developing a complete example.
• Addresses drivers discussed in no other book, including drivers for I2C, video, sound, PCMCIA, and different
types of flash memory
• Demystifies essential kernel services and facilities, including kernel threads and helper interfaces
• Teaches polling, asynchronous notification, and I/O control
• Introduces the Inter-Integrated Circuit Protocol for embedded Linux drivers
• Covers multimedia device drivers using the Linux-Video subsystem and Linux-Audio framework
• Shows how Linux implements support for wireless technologies such as Bluetooth, Infrared, WiFi, and cellular
networking
• Describes the entire driver development lifecycle, through debugging and maintenance
• Includes reference appendixes covering Linux assembly, BIOS calls, and Seq files