1、概览
之前的博客中说过,struct i2c_adapter
在i2c子系统中就代表了一个i2c控制器,也就是一条i2c总线。其实实现i2c总线或控制器驱动,其实就是实现一个struct i2c_adapter结构以及结构中的与平台相关的发送数据的接口,这些接口涉及到操作具体的寄存器。下面简单看一下struct i2c_adapter这个结构。
struct i2c_adapter {
struct module *owner;
unsigned int class;
const struct i2c_algorithm *algo;
struct rt_mutexbus_lock;
int timeout;
int retries;
struct device dev;
int nr;
char name[48];