Search icon
Subscription
0
Cart icon
Close icon
You have no products in your basket yet
Save more on your purchases!
Savings automatically calculated. No voucher code required
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Mastering Linux Device Driver Development

You're reading from  Mastering Linux Device Driver Development

Product type Book
Published in Jan 2021
Publisher Packt
ISBN-13 9781789342048
Pages 646 pages
Edition 1st Edition
Languages
Author (1):
John Madieu John Madieu
Profile icon John Madieu

Table of Contents (19) Chapters

Preface 1. Section 1:Kernel Core Frameworks for Embedded Device Driver Development
2. Chapter 1: Linux Kernel Concepts for Embedded Developers 3. Chapter 2: Leveraging the Regmap API and Simplifying the Code 4. Chapter 3: Delving into the MFD Subsystem and Syscon API 5. Chapter 4: Storming the Common Clock Framework 6. Section 2: Multimedia and Power Saving in Embedded Linux Systems
7. Chapter 5: ALSA SoC Framework – Leveraging Codec and Platform Class Drivers 8. Chapter 6: ALSA SoC Framework – Delving into the Machine Class Drivers 9. Chapter 7: Demystifying V4L2 and Video Capture Device Drivers 10. Chapter 8: Integrating with V4L2 Async and Media Controller Frameworks 11. Chapter 9:Leveraging the V4L2 API from the User Space 12. Chapter 10: Linux Kernel Power Management 13. Section 3: Staying Up to Date with Other Linux Kernel Subsystems
14. Chapter 11: Writing PCI Device Drivers 15. Chapter 12: Leveraging the NVMEM Framework 16. Chapter 13: Watchdog Device Drivers 17. Chapter 14: Linux Kernel Debugging Tips and Best Practices 18. Other Books You May Enjoy

What this book covers

Chapter 1, Linux Kernel Concepts for Embedded Developers, walks through the Linux kernel helpers for locking, blocking I/O, deferring work, and interrupt management.

Chapter 2, Leveraging the Regmap API and Simplifying the Code, provides an overview of the Regmap framework and shows you how to leverage its APIs to ease interrupt management and abstract register access.

Chapter 3, Delving into the MFD Subsystem and Syscon API, focuses on MFD drivers in the Linux kernel, their APIs, and their structures, as well as introducing the syscon and simple-mfd helpers.

Chapter 4, Storming the Common Clock Framework, explains the Linux kernel clock framework and explores both producer and consumer device drivers, as well as their device tree bindings.

Chapter 5, ALSA SoC Framework – Leveraging Codec and Platform Class Drivers, discusses ALSA driver development for both codec and platform devices and introduces concepts such as kcontrol and digital audio power management (DAPM).

Chapter 6, ALSA SoC Framework – Delving into the Machine Class Drivers, dives into ALSA machine class driver development and shows you how to bind both codec and platform together and how to define audio routes.

Chapter 7, Demystifying V4L2 and Video Capture Device Drivers, describes V4L2's key concepts. It focuses on bridge video devices, introduces the concept of subdevices, and covers their respective device drivers.

Chapter 8, Integrating with V4L2 Async and Media Controller Frameworks, introduces the concept of asynchronous probing so that you don't have to care about bridge and subdevice probing order. Finally, this chapter introduces media controller frameworks in order to provide video routing and video pipe customizations.

Chapter 9, Leveraging V4L2 API from the User Space, closes our teaching series on V4L2 and deals with V4L2 from the user space. It first teaches you how to write C code in order to open, configure, and grab data from a video device. It then shows you how to write as little code as possible by leveraging user-space video-related tools such as v4l2-ctl and media-ctl.

Chapter 10, Linux Kernel Power Management, discusses power management on Linux-based systems and teaches you how to write power-aware device drivers.

Chapter 11, Writing PCI Device Drivers, deals with the PCI subsystem and introduces you to its Linux kernel implementation. This chapter also shows you how to write PCI device drivers.

Chapter 12, Leveraging the NVMEM Framework, describes the Linux Non-Volatile Memory (NVEM) subsystem. It first teaches you how to write both provider and consumer drivers as well as their device tree bindings. Then, it shows you how to take the most out of the device from user space.

Chapter 13, Watchdog Device Drivers, provides an accurate description of the Linux kernel Watchdog subsystem. It first introduces you to Watchdog device drivers and gradually takes you through the core of the subsystem, introducing some key concepts such as pre-timeout and governors. Toward the end, this chapter teaches you how to manage the subsystem from the user space.

Chapter 14, Linux Kernel Debugging Tips and Best Practices, highlights the most-used Linux kernel debugging and tracing techniques using kernel-embedded tools such as ftrace and oops message analysis.

lock icon The rest of the chapter is locked
Next Chapter arrow right
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime}