Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.


Device drivers literally drive everything you're interested in--disks, monitors, keyboards, modems--everything outside the computer chip and memory. And writing device drivers is one of the few areas of programming for the Linux operating system that calls for unique, Linux-specific knowledge. For years now, programmers have relied on the classic Linux Device Drivers from O'Reilly to master this critical subject. Now in its third edition, this bestselling guide provides all the information you'll need to write drivers for a wide range of devices. Over the years the book has helped countless programmers learn:

  • how to support computer peripherals under the Linux operating system

  • how to develop and write software for new hardware under Linux

  • the basics of Linux operation even if they are not expecting to write a driver

The new edition of Linux Device Drivers is better than ever. The book covers all the significant changes to Version 2.6 of the Linux kernel, which simplifies many activities, and contains subtle new features that can make a driver both more efficient and more flexible. Readers will find new chapters on important types of drivers not covered previously, such as consoles, USB drivers, and more. Best of all, you don't have to be a kernel hacker to understand and enjoy this book. All you need is an understanding of the C programming language and some background in Unix system calls. And for maximum ease-of-use, the book uses full-featured examples that you can compile and run without special hardware. Today Linux holds fast as the most rapidly growing segment of the computer market and continues to win over enthusiastic adherents in many application areas. With this increasing support, Linux is now absolutely mainstream, and viewed as a solid platform for embedded systems. If you're writing device drivers, you'll want this book. In fact, you'll wonder how drivers are ever written without it.

Subscriber Reviews

Average Rating: 2.25 out of 5 rating Based on 4 Ratings

"Not very good" - by orion on 12-JUL-2012
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
Read this book on safari online. Glad I didnt pay the 30 or so bucks for it. It has lots of good pieces of information but lacks cohesion to be a really good tutorial or reference. Maybe it should get no stars.
Report as Inappropriate

"Linux Device Driver" - by Tarun on 28-MAY-2010
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
Bookis looks like device driver API reference manual, not talked about good techniques of usages.
Report as Inappropriate

"Not as it used to be, but still great" - by Marcomas on 01-APR-2010
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
We know it, it looks obsolete, the source code of the examples doesn't compile with current kernels and the updates in the new edition haven't been properly integrated in the previous editions.
Deferring the integration of the drivers and devices with udev to Chapter 14, probably where Greg Kroah-Hartmann took over, it doesn't make the book a plain reading.
However, if you manage to get a spare machine (I did it with a Dual-Pentium-III) and put a proper Linux distribution on it, it can still be a very valuable resource.
I did it with Slackware 10.1, still downloadable from several mirrors, which installs by default a 2.4 series kernel, with an option for a vanilla 2.6.10, just what is needed to match the code in the book.
As it is said in the book, it's not just about installing the 2.6.10 kernel, it is also about compiling it and of course, if you are not comfortable with doing it, you shouldn't be reading this book yet.

Report as Inappropriate

Table of Contents



The publisher has provided additional content related to this title.


Visit the catalog page for Linux Device Drivers, 3rd Edition

  • Catalog Page

Visit the errata page for Linux Device Drivers, 3rd Edition

  • Errata

Download the supplemental electronic content for Linux Device Drivers, 3rd Edition

  • Supplemental Content