Home Search by Brand Hand Tools Clamps Hammers Wrenches  
  What are you shopping for?  


 

Essential Linux Device Drivers (Prentice Hall Open Source Software Development Series)

Essential Linux Device Drivers (Prentice Hall Open Source Software Development Series)
MSRP: $49.99
Your Price: $35.99
Savings: $ 14.00 ( 28% )
Shipping: Usually ships in 24 hours
Manufacturer: Prentice Hall PTR
Buy Essential Linux Device Drivers (Prentice Hall Open Source Software Development Series)
 

Related Essential Linux Device Drivers (Prentice Hall Open Source Software Development Series) Products

Open Source Linux Development Essential Hall Series) Device Software (Prentice Drivers
Software Hall Development Source Series) Drivers Linux Open Essential (Prentice Device
Open Source Development Hall Software Device (Prentice Series) Linux Essential Drivers
Linux Device Development (Prentice Drivers Essential Source Software Open Hall Series)
Linux (Prentice Essential Drivers Source Development Device Series) Open Hall Software
 

Additional Essential Linux Device Drivers (Prentice Hall Open Source Software Development Series) Information

“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



 

What Customers Say About Essential Linux Device Drivers (Prentice Hall Open Source Software Development Series):

(which is a bit outdated), "Embedded Linux" by Hollabaugh, "Building Embedded Linux Systems" by Yaghmour, "Understanding Linux Network Internals" by Benvenuti."Essential Linux Device Drivers" is the best one yet, followed by Rubini's as a closed second. One is to make clear that the spin_lock_irqsave() API should be used instead of spin_lock() whenever it may be called from interrupt context. I keep "Essential Linux Device Drivers" on my desk, next to a bunch of other Linux kernel programming books: "Linux Device Drivers" by Rubini, "Linux Kernel Internals" by Beck et. The code in "Essential Linux Device Drivers" has obviously been copied from real development projects, and I found no errors in it. You've helped me a lot with my driver code. Between these two books alone, you can learn how to write any device driver from scratch - if handed the hardware manual. There are some suggestions I have (and this applies to all Linux books I've read).

Overall, good job, Mr. al. Second is to explain how the interrupt routine stack space is created at the bottom of the regular (thread) stack space. But "Essential Linux Device Drivers" goes deeper, and has more real life code examples. I've looked carefully at the networking driver code, serial driver code, i2c driver code, and kernel thread/interlocking/timer primitives. Venkateswaran. The $44.99 I paid was well spent on your book.

To understand what the author is doing, you would have to resort to searching alternate references. 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. Also his examples don't work. 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. 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.

You could be thinking that this book never claimed to enable you to write a PCI driver, for example, and that would be true. This brings me to the second half of "Essential Linux Device Drivers", where specific device types are discussed.

But the title of the book leads the reader to expect that they could produce a Linux device driver using this book. Like other reviews have stated, this first half of this book is a concise, useful introduction to certain Linux kernel concepts.

It discusses implementation in detail, which this book does not. 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. 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.

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.

The author gives a high level explanation of each driver type covered and then helps the reader navigate the relevant source code files in the kernel source tree.I was also pleasantly surprised to find that the author had more than a passing aquaintance with embedded Linux having participated in a number of driver projects for embedded Linux devices. This book thoroughly covers these categories in enough detail to get the programmer started writing drivers. The book covers Linux kernel 2.6-23/24 versions which just happens to be the version I was using with my Ubuntu 8.04 laptop at the time of my review.The author is clearly an experienced device driver programmer and he has a first rate command of written English. The final chapters of his book describe user space device drivers, miscellaneous device drivers (ACPI, Firewire etc).

He does an excellent job of explaining the environment in which modern device drivers will be used and he covers all of the major categories of devices that a programmer would need. This book is intended to teach an intermediate level programmer who is already proficient in the "C" language to write device drivers for the Linux operating system. As you might expect in a book on device drivers the author describes the major routines used for a class of device drivers,where the routine can be found (file/tree structure), a full explanation of how the routines are used and the functions they perform. He also covers kernel execution profiling and tracing. I particularly liked his mentioning several source code analysis tools that are commonly used by those having to work with kernel sources.

The author presents the reader with device driver code for devices that would need drivers and also shows how they would be integrated into the existing device driver structurefor the class of device presented. The book index is well done allowing the reader to quickly pinpoint items of interest. I found his writing to be clear, well organized and most importantly capable of teaching me how to work with kernel sources that are actively in use. He has an excellent chapter on debugging device drivers which covers kernel debuggers, kernel probes as well as kernel exec and kdump. At leasttwo of the tools, cscope and ctags, I used when working on kernel maintenance on another UNIX platform.

These tools made it possible to browse through the symbols used in the kernel and also to allow one to see where the corresponding name was declared and where it was accessed (read or written). He offers a sample debugging section for a buggy driver. Book indexing is to some extent an art form and Prentice Hall does an especially good job with their technical books.Overall I'd give this book a high rating and it's good enough that I will add a copy to my personal library.

The things that appeared to be so complex and hard to understand previously have now started making sense.This book is sort of pratical guide. This book is really good for anyone who wants to delve into Linux Device Driver development.Every topic is explained in simple plain english with appropriate code examples. And the best thing is that every thing right from a simple char driver to the complex PCMCIA and wireless drivers have been explained so we get all the help that we need for developing various kind of device drivers just at a single place. The only improvement that I would suggest is the complex nesting of various kernel structures and the drivers code should be explained in diagramatical form first. Apart from that it would be nice if the source code examples provided in the book can be downloaded from its website.

Buy Essential Linux Device Drivers (Prentice Hall Open Source Software Development Series)
© 2006 - 2009 AZSources.com - Power Tools : Privacy Policy