在S3c开发板上,首先注册了platform bus和i2c bus 两个总线,I2c物理设备在系统初始化的时候被挂载到platform bus上,当i2c driver被添加的时候,匹配到相应的I2c设备,便为其创建了一个client及adapter并将他们挂到I2c bus上,并分别为其匹配I2c bus上相应的驱动。如果没有相应驱动,则匹配结果为空。在相应I2c驱动添加到I2c总线的时候,又返回匹配I2c总线上的设备。
下图为linux I2C驱动框架及其关系:

阅读(544) | 评论(0) | 转发(0) |