GPIO for Engineers and Makers
summary
Kernel GPIO moves from fragile global numbers to descriptor-based GPIO with device-tree/ACPI bindings, adds real-device gpiochips, formal IRQ-chip integration, and hardware modes for open drain/open source. The old sysfs CFS interface is deprecated; a new character device ABI (since 4.8) exposes chip/line info, atomic get/set of up to 64 lines, event timestamps, and automatic cleanup on close. Tools and examples (gpiod/yells-gpio) exist and the refactor is merged and working in mainline.
AI-written summary · about
chapters (25)
- 0:00Introduction
- 1:07History
- 4:15Biggest Lies
- 4:47Userspace
- 8:55Descriptors
- 15:18GPIO Ships
- 16:31Open Drain
- 21:42Pin Control
- 25:15GPIO Mode Pitfall
- 27:52GPIO Lock
- 30:37IRQ Domain
- 35:12GPIO Expanders
- 36:02GPIO Hogs
- 37:42Userspace GPIO
- 39:33Random drivers
- 40:07Sisyphus
- 41:34What is good
- 42:26Yellows GPIO
- 43:25GPIO Line Names
- 45:17Reading Line Values
- 46:13Unset Many Lines
- 46:44Multiple Lines
- 47:47One Line
- 48:09Slide Line
- 50:21Questions
related talks
44mNew GPIO Interface for User Space
48mPin Control and GPIO Update
23mGive Me Back My GPIO Persistence Intro to the libgpiod GPIOManager
23mGive Me Back My GPIO Persistence Intro to the libgpiod GPIOManager
32mlibgpiod V2: New Major Release with a Ton of New Features
19mPinctrl and GPIO - Interactions and Footguns
37mIntroduction to Pin Muxing and GPIO Control Under Linux
12mGPIO across Linux and Zephyr kernels
