Overview
Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore the fundamental structure of Linux kernel device drivers in this comprehensive 59-minute talk by Sergio Prado from Toradex. Delve into the concept of device drivers as abstractions, focusing on char drivers and their implementation as file abstractions. Learn how to communicate with hardware through memory-mapped I/O and examine a practical LED driver example. Discover the advantages of the driver model and various frameworks, including the LEDS framework. Investigate bus systems, power management, and device registration processes, with a particular emphasis on I2C and platform buses. Gain insights into the flexible nature of Linux kernel device drivers and their role in abstracting hardware complexities for efficient system management.
Syllabus
Intro
ABOUT THE TALK
AGENDA
WHAT ARE DEVICE DRIVERS?
DEVICE DRIVER IS AN ABSTRACTION
CHAR DRIVER: A SIMPLE ABSTRACTION
CHAR DRIVER AS A FILE ABSTRACTION
IMPLEMENTING A CHAR DRIVER
TALKING TO THE HARDWARE
MEMORY-MAPPED 1/0
TALKING TO A MMIO DEVICE
LED DRIVER
THE DRIVER MODEL
FRAMEWORKS
USING THE LEDS FRAMEWORK
ADVANTAGES
BUSES AND POWER MANAGEMENT
12C BUS
PLATFORM BUS
REGISTERING A DEVICE
A FLEXIBLE MODEL (cont.)
Taught by
Linux Foundation