子系统层次图

接口实现地址

2. 重要的3个核心数据结构
记住GPIO Controller的要素,这有助于理解它的驱动程序:
- 一个GPIO Controller里有多少个引脚?有哪些引脚?
- 需要提供函数,设置引脚方向、读取/设置数值
- 需要提供函数,把引脚转换为中断
以Linux面向对象编程的思想,一个GPIO Controller必定会使用一个结构体来表示,这个结构体必定含有这些信息:
- GPIO引脚信息
- 控制引脚的函数
- 中断相关的函数

gpio_device结构体并不需要我们自己去创建,我们需要创建的是gpio_chip结构体

每个GPIO控制器中当个引脚描述符结构体

不同的GPIO控制器使用链表相连



当GPIO子系统单个引脚获得之后如何调用函数进行设置

