Linux 下I2C设备驱动新框架

来源:互联网 发布:淘宝美术作品侵权 编辑:程序博客网 时间:2024/04/29 02:33

本文只介绍Linux下I2C新驱动框架技术,老框架在原Blog中有提及,这里不详述。

 

Linux新的I2C驱动框架下,I2C设备是以I2c client的形式存在的,即设备I2c client与I2C驱动相对应。I2C设备驱动可以理解成I2C client驱动。

 

在I2C总线驱动加载的时候,I2c Bus驱动为每一个总线创建了一个I2c Adapter,即适配器。然后会i2c_scan_static_board_info,即遍历I2c板卡信息i2c_board_info,此结构体里包含了系统相应I2c总线下所挂载的设备信息,通过遍历i2c_board_info,为该总线下每一个设备描述实例化,即为每一个设备创建i2c_client,然后把新创建的I2c client设备挂载到I2 Bus上,在挂载I2c client设备到总线的时候,发起经典的Device和Driver匹配过程。找到相应I2C设备驱动。

 

过程如下图: