Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your mobile phone number.

Essential Linux Device Drivers 1st Edition

4.3 out of 5 stars 30 customer reviews
ISBN-13: 007-6092041467
ISBN-10: 0132396556
Why is ISBN important?
ISBN
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
Have one to sell? Sell on Amazon
Buy used On clicking this link, a new layer will be open
$3.04 On clicking this link, a new layer will be open
Buy new On clicking this link, a new layer will be open
$43.99 On clicking this link, a new layer will be open
More Buying Choices
25 New from $30.95 20 Used from $3.01
Free Two-Day Shipping for College Students with Prime Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student


Security
ITPro.TV Video Training
Take advantage of IT courses online anywhere, anytime with ITPro.TV. Learn more.
$43.99 FREE Shipping. Only 10 left in stock (more on the way). Ships from and sold by Amazon.com. Gift-wrap available.
click to open popover

Frequently Bought Together

  • Essential Linux Device Drivers
  • +
  • Linux Device Drivers, 3rd Edition
  • +
  • Linux Kernel Development (3rd Edition)
Total price: $110.50
Buy the selected items together

Editorial Reviews

From the Back Cover

"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

About the Author

Sreekrishnan Venkateswaran has spent more than a decade working in IBM product development laboratories. He has ported Linux to devices ranging from wristwatches and music players to PDAs, VoIP phones, and even pacemaker programmers. He was a Contributing Editor and kernel columnist for Linux Magazine for more than two years.

NO_CONTENT_IN_FEATURE

The latest book club pick from Oprah
"The Underground Railroad" by Colson Whitehead is a magnificent novel chronicling a young slave's adventures as she makes a desperate bid for freedom in the antebellum South. See more

Product Details

  • Hardcover: 744 pages
  • Publisher: Prentice Hall; 1 edition (April 6, 2008)
  • Language: English
  • ISBN-10: 0132396556
  • ISBN-13: 978-0132396554
  • Product Dimensions: 7.3 x 1.7 x 9.5 inches
  • Shipping Weight: 2.7 pounds (View shipping rates and policies)
  • Average Customer Review: 4.3 out of 5 stars  See all reviews (30 customer reviews)
  • Amazon Best Sellers Rank: #397,650 in Books (See Top 100 in Books)

Customer Reviews

Top Customer Reviews

By Brian Hill on January 28, 2009
Format: Hardcover
Like other reviews have stated, this first half of this book is a concise, useful introduction to certain Linux kernel concepts. But the title of the book leads the reader to expect that they could produce a Linux device driver using this book. That turns out not to be the case - no one could produce a driver with this book without the benefit of other reference material. In short, while the O'Reilly "Linux Device Drivers" text has it's shortcomings and is starting to become dated, it is still the only text with which the reader can use as a primary reference to create their own driver. It discusses implementation in detail, which this book does not.

This brings me to the second half of "Essential Linux Device Drivers", where specific device types are discussed. So little time is spent on each type that none are covered in enough detail to actually go off and start a driver of that type. You could be thinking that this book never claimed to enable you to write a PCI driver, for example, and that would be true. It just feels like a reduced scope with increased depth on the remainder would have made a much more useful book, rather than a bathroom reader.
Comment 37 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Hardcover
Anyone who is looking to purchase this book is either taking a class in driver development or is new to driver development and is looking for guidance. This book is a great attempt at an all in one driver development book, however; falls flat due to errors in the text and code samples. Sadly it is obvious there was very little error checking or testing of code samples in the book. Someone who is new to such a complex subject should be able to rely on accurate code example and explanations without having to constantly be on the lookout for errors. Some of the errors found are expected of new CS students and not seasoned professionals ( eg. Performing kmalloc() without calling kfree() ) or (allocating memory to a single variable in a for loop eg. var_ptr = kmalloc() both of which exist in Example 5.1 of the book ). The author also fails to explain kernel function's arguments and only mentioned the kernel functions themselves. This makes it difficult to know what/why arguments are being passed.

Please see the author's errata page:

[...](Link removed by Amazon)

Additionally there is another errata page for the book:

[...](Link removed by Amazon)

The high number of errors take away from the readers experience with learning the subject. More time is spent reading and checking the author's Errata page to make sure they are not misinformed. This book will probably be worth 4 stars if they release a second edition with all the errors fixed. It may be worth picking up LDD3 as a supplement and probably has less errors. Additionally, the author spends a ton of time in the beginning discussing kernel threads, klists, ktrees, IRQs, softirqs, and other key kernel components and hardware specifics.
Read more ›
1 Comment 11 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Hardcover Verified Purchase
The people who gave this book 5 starts are either friends of the author, the author himself, or guys who have been writing linux drivers for years and felt like reading what they already knew. Although the author seems to be very knowledgeable on the topic, his book is really terrible at explaining the essential kernel functions needed for writing device drivers and their respective parameters. He only mentions that they exist. To understand what the author is doing, you would have to resort to searching alternate references. Also his examples don't work. I can tell that he never tried to compiled these examples.

After reading the first few chapters, I decided to get the linux device drivers book from O'REILLY and as soon as I started reading, I could point out loads of important information that the first book failed to relay. The examples in the O'REILLY book are also by far better.
Comment 31 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Hardcover
I've been frustrated by many other Linux kernel and device driver books. The authors often make assumptions about the readers knowledge and gloss over areas that can be quite confusing.

To some extent, that's unavoidable: the Linux kernel is monstrous and very complex, and the hardware that drivers control can also be dark and mysterious territory.

I really appreciated this books approach. It's not that everything is explained in complete detail; that would be impossible. However, the author obviously tries very hard to give an overview, an orientation that will hopefully set your mind in the right direction, before diving into details. Throughout the book he adds "go look at this" suggestions that can help you understand whatever he's dealing with at this point.

I think Chapter 2, which is a high level fly-by of the kernel in general, is an absolute masterpiece. That starts by pulling typical kernel boot messages and explaining what they mean and what's going on in code to produce them. It then goes on to discuss kernel locks, briefly looks at procfs and memory allocation, and closes (as each chapter does) with pointers to where to look in the source for the subjects discussed.

Chapters 3 and 4 flesh out basic concepts more, and then after that the book goes into details, picking both real world and fanciful examples of hardware and giving sample device drivers. Simple devices are presented first, while later chapters get into more complicated hardware, but in each case the same general format is followed: overview of the how and why, sample driver(s), how to most easily debug, and pointers to real kernel sources.

Very well done. I have no complaints - oh, a few minor typos, maybe, but nothing serious.
Comment 20 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse

Most Recent Customer Reviews

Set up an Amazon Giveaway

Essential Linux Device Drivers
Amazon Giveaway allows you to run promotional giveaways in order to create buzz, reward your audience, and attract new followers and customers. Learn more about Amazon Giveaway
This item: Essential Linux Device Drivers