Path to Senior Driver Engineer: Bus & Device Model
Level up from driver author to driver architect: kobject, device model, power, reset, regulator and GPIO frameworks.
Intermediate30 lessons
written lessons≈ 15 h
Linux Kernel & Device Drivers · 30 illustrated lessons (text/HTML)
Outcomes
- Work with kobjects, ksets and sysfs confidently
- Use reset, regulator, GPIO and interrupt-management frameworks
- Design drivers that survive hot-plug and power transitions
Where we teach this
- DRV-120 · Platform Drivers & Device Tree live cohort
The lessons
Every lesson in this curriculum, in the order we teach it.
- 1Overview of the Linux bus and device driver model
- 2kobject and kset in depth
- 3The device model explained
- 4The driver model explained
- 5The bus model explained
- 6Platform device drivers
- 7Platform device drivers in practice
- 8Device tree basics
- 9Introduction: why the device tree matters
- 10Buses and devices: I2C buses and device drivers
- 11Course goals
- 12SPI buses and device drivers
- 13SPI driver in practice
- 14PCI/PCIe architecture overview
- 15USB bus and device drivers
- 16The input subsystem
- 17Misc devices and character devices in the bus model
- 18Linux driver deep dive: classes and interfaces in the device model
- 19Power management (PM) and the device model
- 20The DMA engine framework and the device model
- 21The clock framework and the device model
- 22The reset framework and the device model: using reset controllers
- 23The regulator framework and the device model
- 24The GPIO descriptor (gpiod) framework and the device model
- 25Interrupt management and the device model
- 26Hot-plug overview
- 27Virtual buses and device drivers in practice
- 28Designing driver modules for cross-platform and device-tree compatibility
- 29Device-model debugging techniques
- 30Summary and best practices for the bus and device driver model
All-access library
Every curriculum on this page, with the labs and lab sequences, for a year.