MODULE_DEVICE_TABLE(i2c, i2c_id); module_i2c_driver宏将定义好的i2c_driver结构体注册为一个I2C设备驱动程序 static struct i2c_driver i2c_driver = { .driver = { .name = DRIVER_NAME, .owner = THIS_MODULE, }, .probe = i2c_probe, .remove = i2c_remove, .id_table = i2c_id, }; module...
int i2c_del_adapter(struct i2c_adapter *adap); 删除i2c_adapter (2)增加/删除 i2c_driver从设备驱动 int i2c_register_driver(struct module *owner, struct i2c_driver *driver); i2c_driver 与一个或多个 i2c_client(设备)节点一起使用来访问 i2c 从芯片,位于与某些 i2c_adapter 关联的总线实例上。
int i2c_add_driver(struct i2c_driver *driver); void i2c_del_driver(struct i2c_driver *driver); //发送接收消息 int i2c_master_send(const struct i2c_client *client, const char *buf, int count); int i2c_master_recv(const struct i2c_client *client, char *buf, int count); struct i2c_cl...
int i2c_register_driver(struct module *owner, struct i2c_driver *driver); int i2c_del_driver(struct i2c_driver *driver); inline int i2c_add_driver(struct i2c_driver *driver); 创建并注册一个新的I2C设备 struct i2c_client *i2c_new_device(struct i2c_adapter *adap, struct i2c_board_info con...
I2C adapter 即I2C适配器 I2C driver 某个I2C设备的设备驱动,可以以driver理解。 I2C client 某个I2C设备的设备声明,可以以device理解。 1. 2. 3. I2C adapter 是CPU集成或外接的I2C适配器,用来控制各种I2C从设备,其驱动需要完成对适配器的完整描述,最主要的工作是需要完成i2c_algorithm结构体。这个结构体包含了...
module_i2c_driver — 注册I2C设备驱动的宏定义 i2c_register_board_info — 静态声明(注册)I2C设备,可多个 i2c_verify_client — 如果设备是i2c_client的dev成员则返回其父指针,否则返回NULL。用来校验设备是否为I2C设备 i2c_lock_adapter — I2C总线持锁操作,会找到最根源的那个i2c_adapter。说明你的模块必须符合...
i2c_algorithm描述一个i2c主机的发送时序的信息,该类的对象algo是i2c_adapter的一个域,其中的master_xfer()注册的函数最终被设备驱动端的i2c_transfer()回调。 i2c_client描述一个挂接在硬件i2c总线上的设备的设备信息,即i2c设备的设备对象,与i2c_driver对象匹配成功后通过detected和i2c_driver以及i2c_adapter相连,在...
int(*probe)(struct i2c_client*,conststruct i2c_device_id*) 当I2C设备和驱动匹配成功以后 probe函数就会执行。 代码语言:javascript 复制 struct device_driver driver device_driver 驱动结构体,如果使用设备树的话,需要设置device_driver的of_match_table成员变量,也就是驱动的兼容(compatible)属性。
int i2c_register_driver(struct module *owner, struct i2c_driver *driver); int i2c_del_driver(struct i2c_driver *driver); inline int i2c_add_driver(struct i2c_driver *driver); 创建并注册一个新的I2C设备 struct i2c_client *i2c_new_device(struct i2c_adapter *adap, struct i2c_board_info con...