上一篇文章我们简要介绍了SPI驱动模块,本章我们详细说明一下spi总线、设备、驱动模块的注册、注销以及这几个模块之间的关联。
SPI总线的注册
spi模块也是基于LINUX设备-总线-驱动模型进行开发的,因此其spi总线,也是需要注册到
LINUX系统的总线模块的,调用的接口为是bus_register,我们看下spi总线都定义了哪些内容
如下是spi_bus_type的定义
![4d72bb87d429d49e22d77ea90cdcc584.png](https://img-blog.csdnimg.cn/img_convert/4d72bb87d429d49e22d77ea90cdcc584.png)
现在我们分析一下spi总线实现的成员变量:
- 该总线的名称为spi;
- 定义了spi总线上注册设备时在sysfs中所需要创建的默认属性文件(即注册到spi总线上的设备,均需要在其设备目录下创建默认的属性文件),spi_dev_attr的定义如下,即每一个注册在spi总线上的spi设备,在挂载的sysfs文件系统对应目录下均会创建modalias的属性文件,该文件只有读权限,主要读取spi设备的名称(格式为“spi:spi->modalias”)
![5f0db43091f7db57f6547f114117d1bd.png](https://img-blog.csdnimg.cn/img_convert/5f0db43091f7db57f6547f114117d1bd.png)
该spi的match接口为spi_match_devi