Essential Linux Device Drivers

ISBN-10: 0132396556

ISBN-13: 9780132396554

Edition: 2008

Authors: Sreekrishnan Venkateswaran

List price: $54.99
eBook available
30 day, 100% satisfaction guarantee

If an item you ordered from TextbookRush does not meet your expectations due to an error on our part, simply fill out a return request and then return it by mail within 30 days of ordering it for a full refund of item cost.

Learn more about our returns policy


"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
eBooks Starting from $39.99
Buy eBooks
what's this?
Rush Rewards U
Members Receive:
You have reached 400 XP and carrot coins. That is the daily max!
Study Briefs

Limited time offer: Get the first one free! (?)

All the information you need in one place! Each Study Brief is a summary of one specific subject; facts, figures, and explanations to help you learn faster.

Add to cart
Study Briefs
SQL Online content $4.95 $1.99
Add to cart
Study Briefs
MS Excel® 2010 Online content $4.95 $1.99
Add to cart
Study Briefs
MS Word® 2010 Online content $4.95 $1.99
Add to cart
Study Briefs
MS PowerPoint® 2010 Online content $4.95 $1.99
Customers also bought

Book details

List price: $54.99
Copyright year: 2008
Publisher: Prentice Hall PTR
Publication date: 3/27/2008
Binding: Hardcover
Pages: 744
Size: 7.25" wide x 9.75" long x 1.50" tall
Weight: 2.640
Language: English

About the Author
The GNU Copyleft
Mailing Lists and Forums
Linux Distributions
Looking at the Sources
Building the Kernel
Loadable Modules
Before Starting
A Peek Inside the Kernel
Booting Up
Kernel Mode and User Mode
Process Context and Interrupt Context
Kernel Timers
HZ and Jiffies
Long Delays
Short Delays
Pentium Time Stamp Counter
Real Time Clock
Concurrency in the Kernel
Spinlocks and Mutexes
Atomic Operators
Reader-Writer Locks
Process Filesystem
Allocating Memory
Looking at the Sources
Kernel Facilities
Kernel Threads
Creating a Kernel Thread
Process States and Wait Queues
User Mode Helpers
Helper Interfaces
Linked Lists
Hash Lists
Work Queues
Notifier Chains
Completion Interface
Kthread Helpers
Error-Handling Aids
Looking at the Sources
Laying the Groundwork
Introducing Devices and Drivers
Interrupt Handling
Interrupt Context
Assigning IRQs
Device Example: Roller Wheel
Softirqs and Tasklets
The Linux Device Model
Sysfs, Kobjects, and Device Classes
Hotplug and Coldplug
Microcode Download
Module Autoload
Memory Barriers
Power Management
Looking at the Sources
Character Drivers
Char Driver Basics
Device Example: System CMOS
Driver Initialization
Open and Release
Exchanging Data
Sensing Data Availability
Talking to the Parallel Port
Device Example: Parallel Port LED Board
RTC Subsystem
Pseudo Char Drivers
Misc Drivers
Device Example: Watchdog Timer
Character Caveats
Looking at the Sources
6556_Bookindb i6556_ix 3/4/08 9:31:21 AM
Serial Drivers
Layered Architecture
UART Drivers
Device Example: Cell Phone
TTY Drivers
Line Disciplines
Device Example: Touch Controller
Looking at the Sources
Input Drivers
Input Event Drivers
The Evdev Interface
Input Device Drivers
Touch Controllers
Output Events
Looking at the Sources
The Inter-Integrated Circuit Protocol
Whats I2C/SMBus?
I2C Core
Bus Transactions
Device Example: EEPROM
Probing the Device
Checking Adapter Capabilities
Accessing the Device
More Methods
Device Example: Real Time Clock
Hardware Monitoring Using LM-Sensors
The Serial Peripheral Interface Bus
The 1-Wire Bus
Looking at the Sources
PCMCIA and Compact Flash
Linux-PCMCIA Subsystem
Host Controller Drivers
Driver Services
Client Drivers
Data Structures
Device Example: PCMCIA Card
Tying the Pieces Together
PCMCIA Storage
Looking at the Sources
Peripheral Comp
Free shipping on orders over $35*

*A minimum purchase of $35 is required. Shipping is provided via FedEx SmartPost® and FedEx Express Saver®. Average delivery time is 1 – 5 business days, but is not guaranteed in that timeframe. Also allow 1 - 2 days for processing. Free shipping is eligible only in the continental United States and excludes Hawaii, Alaska and Puerto Rico. FedEx service marks used by permission."Marketplace" orders are not eligible for free or discounted shipping.

Learn more about the TextbookRush Marketplace.