设备链表里存放i2c_client的结构体,这些结构体是注册i2c_client时加入的,不但要加入这些结构体,还会在总线的驱动链表中一个一个地比较drv即i2c_driver来判断是否有匹配的,如果有将调用drv里面的probe函数,匹配函数由总线提供;驱动链表里存放i2c_driver结构体,这些结构体是注册i2c_driver时加入的,不但要加入这些结构体,...
inline int i2c_add_driver(struct i2c_driver *driver); (3)I2C 传输接口 int i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num);int i2c_master_send(const struct i2c_client *client, constchar *buf, int count);int i2c_master_recv(const struct i2c_client *client, char...
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...
通过i2c_add_numbered_adapter 注册到系统中 probe中还会 i2c_add_driver(&dummy_driver) 注册一个空的驱动 在i2c-dev.c 中提供了adapter的文件功能和一些文件操作的接口 在i2c-dev.c的initcall优先级很低只有6 所以如果有已经注册的adapter会依次注册 //i2c-dev.c /* Bind to already existing adapters right...
2)i2c_driver 类似 platform_driver,是我们编写 I2C 设备驱动重点要处理的内容。 对于我们 I2C 设备驱动编写人来说,重点工作就是构建 i2c_driver,构建完成以后需要向Linux 内核注册这个 i2c_driver。 注册i2c设备驱动 常使用 int i2c_register_driver,i2c_add_driver函数。
首先在芯片的总线适配器驱动程序中需要实现一个i2c_driver结构并设置I2C芯片的初始化和卸载函数,实现i2c_driver中的数据成员attach_adapter和detach_client。初始化时,向系统注册一个I2C字符设备,接着使用函数i2c_add_driver()注册一个I2C驱动管理结构体i2c_driver,使I2C芯片相应结构中的成员attach_adapter执行,进而调用...
return i2c_add_driver(&at24c02_drv); return err; } /* 3. 有入口函数就应该有出口函数:卸载驱动程序时,就会去调用这个出口函数 * 卸载platform_driver */ static void __exit at24c02_exit(void) { printk("%s %s line %d\n", __FILE__, __FUNCTION__, __LINE__); ...
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...
【linux iic子系统】i2c设备与驱动匹配过程(三)_i2c_add_driver 如何和clent匹配-CSDN博客 驱动和设备树以及各个结构体总的关系图如下所示: 下面根据图具体解释。 重要的几个结构体的关系 比较重要的是i2c_adapteri2c_clienti2c_driveri2c_algorithm i2c_adapter对应的一个物理上的适配器,以tegra为例,在设备树中com...