51CTO博客已为您找到关于i2c_set_clientdata的相关内容,包含IT学习相关文档代码介绍、相关教程视频课程,以及i2c_set_clientdata问答内容。更多i2c_set_clientdata相关解答可以来51CTO博客参与分享和学习,帮助广大IT技术人实现成长和进步。
client是在板级信息初始化的时候自动创建的设备,将client赋值给dev中的client 然后又将设备文件结构dev赋值给client的私有驱动数据指针。i2c_set_clientdata函数到底是什么作用呢? 在该函数中调用了dev_set_drvdata函数,在dev-set_drvdata函数实现代码中有一行代码:dev->p->driver_data=data driver_data是什么呢,内...
存储设备私有数据,通常使用i2c_set_clientdata函数将私有数据与i2c_client相关联,方便后续的操作函数访问。 我们在学习其他设备驱动的时候就知道了probe函数是设备与驱动匹配成功后被调用执行的。它的原型通常如下所示: staticint i2c_device_probe(struct i2c_client *client, const struct i2c_device_id *id); 下面...
用来初始化i2c_client.name3 unsignedshort flags;//用来初始化i2c_client.flags4 unsignedshort addr;//用来初始化 i2c_client.addr5void *platform_data;//用来初始化 i2c_client.dev.platform_data6struct dev_archdata *archdata;//用来初始化i2c_client.dev.archdata7#...
void *algo_data; /* --- administration stuff. */ int (*client_register)(struct i2c_client *); int (*client_unregister)(struct i2c_client *); /* data fields that are valid for all devices */ struct mutex bus_lock; struct mutex clist_lock; ...
.platform_data = &i2c3_data, }, }; 注册i2c-gpio驱动前要有一个GPIO的设置过程,设置过程如下: { //SDA Pnx_gpio_set_mode(GPIO_F8,GPIO_MODE_MUX1) Pnx_gpio_set_direction(GPIO_F8,GPIO_DIR_OUTPUT) //SCL Pnx_gpio_set_mode(GPIO_F7,GPIO_MODE_MUX1) ...
I2C设备驱动要使用i2c_driver和i2c_client数据结构并填充其中的成员函数。i2c_client一般被包含在设备的私有信息结构体yyy_data中,而i2c_driver则适合被定义成全局变量并初始化。 I2C设备驱动的模块加载函数中会做: (1)通过register_chrdev()函数将I2C设备注册为一个字符设备。 (2)通过I2C核心的i2c_add_driver()函...
代码为:ioctl(file,I2C_RDWR,(struct i2c_rdwr_ioctl_data *)msgset); 它可以进行连续的读写,中间没有间歇。只有当适配器支持I2C_FUNC_I2C此命令才有效。参数msgset是一个指针,指向一个i2c_rdwr_ioctl_data类型的结构体,该结构体的功能就是让应用程序可以向内核传递消息,其成员包括:struct i2c_msg __...
一、概述 谈到在linux系统下编写I2C驱动,目前主要有两种方式,一种是把I2C设备当作一个普通的字符设备来处理,另一种是利用linux I2C驱动体系结构来完成。下面比较下这两种驱动。第一种方法的好处(对应第二种方法的劣势)有:●思路比较直接,不需要花时间去了解linux内核中复杂的I2C子系统的操作方法。第一种方法...
While at it, the i2c_set_clientdata was dropped along with the remove callback. Unfortunately other parts of the driver also rely on i2c clientdata so this causes kernel oops. Bring the call back to fix the driver. Fixes: 3a93da2 ("power: supply: rt5033: Use devm_power_supply_...