Linux Device Driver Development (Paperback)

John Madieu



Key Features

  • Learn to develop customized Linux device drivers
  • Learn core concepts of device drivers such as memory management, kernel caching and so on.
  • Practical experience on embedded side of Linux

Book Description

Linux kernel is a complex, portable, modular and widely used piece of software, running on around 80% of servers and embedded systems in more than half of the devices throughout the world. Device drivers play a critical role in the context of how well a Linux system performs. As Linux has turned out to be one of the most popular operating systems used, the interest in developing your own device drivers is also increasing steadily.

This book will initially cover a chapter which will help you understand the basics of driver development and help you get started with device drivers and its development environment. This book will cover modules based on various Linux subsystems such as memory management, RTC, IIO, Clock Framework and so on. The book will also cover practical approach on Direct memory access, Kernel memory management, and kernel caching systems as well.

By the end of this book, you will be comfortable with the concept of device driver development and will be in a position to write any device driver from scratch using the latest kernel version

What you will learn

  • Use kernel facilities to develop powerful drivers
  • Develop drivers for widely used I2C and SPI buses and use regmap API
  • Write and support devicetree from within your drivers
  • Program advanced drivers for network and frame buffer devices
  • Enhance your skills with Clock and PWM frameworks
  • Develop measurement system drivers with IIO framework
  • Get the best from memory management and DMA subsystem
  • Access and manage GPIO subsystem and develop GPIO controller drivers