I2C驱动由3部分组成:I2C核心、I2C总线驱动、I2C设备驱动。

一个i2c总线上挂了几个器件,i2c总线需要驱动, 器件也需要驱动。
一个i2c器件被定义为i2c_ client对象;
https://elixir.bootlin.com/linux/latest/source/include/linux/i2c.h#L314
一个i2c器件需要绑定的驱动被定义为i2c_drvier对象;
https://elixir.bootlin.com/linux/latest/source/include/linux/i2c.h#L255
i2c总线适配器(

I2C驱动包括I2C核心、总线驱动和设备驱动三部分。i2c_client对象代表总线上的器件,而i2c_driver对象驱动器件。i2c_adapter作为物理接口抽象,通过i2c_algorithm提供的通信方法与器件交互。平台设备和驱动通过platform_device、platform_driver配对,而i2c_client和i2c_driver配对驱动I2C器件。i2c_bus_type在i2c_device_probe回调中起到连接i2c_driver和i2c_client的作用。
最低0.47元/天 解锁文章
213

被折叠的 条评论
为什么被折叠?



