IIC的框架结构和SPI是类似的,它们都拥有总线驱动层(IIC主控制器驱动层),核心层和从设备驱动层。本节主要介绍IIC主控制器的注册以及从设备的注册过程。首先要介绍描述IIC主控制器的结构struct i2c_adapter和描述IIC从设备的结构struct i2c_client
struct i2c_adapter的定义如下:
algo中定义了主控制器的的数据传输方式,client是一个链表头,由于可能有多个从设备挂接在该总线上,因此client用于链接该控制器下的从设备
和SPI控制器一样,IIC控制器也是平台资源,因此以platform的方式注册进内核
s3c2410_i2c_driver和s3c2440_i2c_driver的定义除了name字段不一样外,其他部分都一样
当和platform_device匹配成功后,便调用s3c24xx_i2c_probe()函数
i2c_add_numbered_adapter()会调用i2c_register_adapter()来完成实际的注册工作
