深入Linux GPIO子系统设计与实现
一、GPIO子系统架构总览
1.1 分层架构解析
Linux GPIO子系统采用 分层抽象设计,从上到下划分为:
- 用户空间接口层:sysfs(legacy)/chardev(new)、debugfs
- 虚拟抽象服务层:gpiolib核心框架、GPIO irqdomain映射
- 硬件驱动适配层:gpio_chip驱动、pinctrl联动控制
- 物理硬件层:SoC内部GPIO控制器、外部扩展芯片
1.2 关键数据结构关系
struct gpio_chip {
struct device