Reader small image

You're reading from  Mastering Linux Device Driver Development

Product typeBook
Published inJan 2021
PublisherPackt
ISBN-139781789342048
Edition1st Edition
Right arrow
Author (1)
John Madieu
John Madieu
author image
John Madieu

John Madieu is an embedded Linux and kernel engineer living in Paris, France. His main activities consist of developing device drivers and Board Support Packages (BSPs) for companies in domains such as IoT, automation, transport, healthcare, energy, and the military. John is the founder and chief consultant at LABCSMART, a company that provides training and services for embedded Linux and Linux kernel engineering. He is an open source and embedded systems enthusiast, convinced that it is only by sharing knowledge that we can learn more. He is passionate about boxing, which he practiced for 6 years professionally, and continues to channel this passion through training sessions that he provides voluntarily.
Read more about John Madieu

Right arrow

Framework architecture and the main data structures

Video devices are becoming increasingly complex. In such devices, hardware often comprises several integrated IPs that need to cooperate with one another in a controlled manner, and this leads to complex V4L2 drivers. This requires figuring out the architecture prior to delving into the code and this is precisely the requirement that this section addresses.

It is known that drivers normally mirror the hardware model in programming. In the V4L2 context, the diverse IP components are modeled as software blocks called sub-devices. V4L2 sub-devices are usually kernel-only objects. Moreover, if the V4L2 driver implements the media device API (which we will discuss in the next chapter, Chapter 8, Integrating with V4L2 Async and Media Controller Frameworks), those sub-devices will automatically inherit from media entities, allowing applications to enumerate the sub-devices and to discover the hardware topology using the media framework...

lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
Mastering Linux Device Driver Development
Published in: Jan 2021Publisher: PacktISBN-13: 9781789342048

Author (1)

author image
John Madieu

John Madieu is an embedded Linux and kernel engineer living in Paris, France. His main activities consist of developing device drivers and Board Support Packages (BSPs) for companies in domains such as IoT, automation, transport, healthcare, energy, and the military. John is the founder and chief consultant at LABCSMART, a company that provides training and services for embedded Linux and Linux kernel engineering. He is an open source and embedded systems enthusiast, convinced that it is only by sharing knowledge that we can learn more. He is passionate about boxing, which he practiced for 6 years professionally, and continues to channel this passion through training sessions that he provides voluntarily.
Read more about John Madieu