I2C设备驱动的理解
1、通过platform_data 进行数据注册
2、I2C涉及主要的四个数据结构
i2c_adapter, i2c_algor、i2c_client、i2c_driver, 这四者的关系
1、i2c_adapter是总线驱动,指的I2C控制器通用驱动函数
i2c_algor 是总线驱动,用于封装具体的下发内容
i2c_client 是做资源配置,配置I2C控制器,一般用设备树实现
i2c_driver 是提供给应用层的接口, 通过i2c_driver进行调用i2c_algor进行具体的下发
3、完整的驱动编写
1、注册i2c_driver, 通过i2c_driver.name 与总线的platfrom_data 进行匹配,获取资源、中断、gpio接口内容
2、添加i2c_adpater
4、I2C驱动框架