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];

本文介绍了Linux系统中i2c adapter驱动的实现,包括struct i2c_adapter结构的解析,如algo字段中涉及的数据传输接口,以及timeout和retries参数的作用。此外,文章还阐述了如何注册adapter到内核以及驱动编写的基本步骤。
最低0.47元/天 解锁文章
1202

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



