Compound Interest - Dealing with Two Decades of Technical Debt in Embedded...
summary
GPIO has two in-kernel APIs, two uAPI variants and decades of quirks tied to ARM board files, and about 35% still use the old numeric interface. The core claim is that serialization and hotplug bugs are fixed by SRCU serialization landed in 6.9, while user-space persistence is handled by a newly proposed dbus daemon for GPIO that exposes a well‑known protocol. Expect remaining work converting drivers, removing non‑exclusive workaround misuse, and resolving irq/pinctrl glue cases.
AI-written summary · about
chapters (15)
- 0:00Introduction
- 1:05Technical debt overview
- 3:32Project types and debt origins
- 5:41Why debt accumulates
- 8:32Kernel API/ABI stability
- 11:21Case study: 20 years GPIO debt
- 14:33GPIO’s three historical epochs
- 17:45Migrating to modern GPIO
- 20:15GPIO toggling and locking issues
- 24:11Fixing GPIO with SRCU in 6.9
- 24:53Non-exclusive GPIO misuse
- 27:26Worst debt: Userspace exposed
- 29:13New GPIO userspace API
- 30:59Summary
- 32:46Q&A
related talks
48mPin Control and GPIO Update
23mGive Me Back My GPIO Persistence Intro to the libgpiod GPIOManager
40m10 Years of the Industrial I/O Kernel Subsystem
19mPinctrl and GPIO - Interactions and Footguns
55mThe Embedded Linux Problem
40mBoF: Object Life-Time Handling in Driver Subsystems
41mHow to Avoid Writing Device Drivers for Embedded Linux
37mIntroduction to Pin Muxing and GPIO Control Under Linux
