51CTO博客已为您找到关于i2c_set_clientdata的相关内容,包含IT学习相关文档代码介绍、相关教程视频课程,以及i2c_set_clientdata问答内容。更多i2c_set_clientdata相关解答可以来51CTO博客参与分享和学习,帮助广大IT技术人实现成长和进步。
在该函数中调用了dev_set_drvdata函数,在dev-set_drvdata函数实现代码中有一行代码:dev->p->driver_data=data driver_data是什么呢,内核中一句注释:driver_data - private pointer for driver specific info。driver_data是驱动特殊信息的私有指针,i2c_set_clientdata(client, dev)就是将自定义的设备结构dev赋给...
在该函数中调用了dev_set_drvdata函数,在dev-set_drvdata函数实现代码中有一行代码:dev->p->driver_data=data driver_data是什么呢,内核中一句注释:driver_data - private pointer for driver specific info。driver_data是驱动特殊信息的私有指针,i2c_set_clientdata(client, dev)就是将自定义的设备结构dev赋给...
chencx test i2c_get_clientdata=126--- 测试完成 同理,input_get_drvdata input_set_drvdata是一样的,看下函数原型 staticinlinevoid*input_get_drvdata(structinput_dev *dev) {returndev_get_drvdata(&dev->dev); }staticinlinevoidinput_set_drvdata(structinput_dev *dev,void*data) { dev_set_drv...
存储设备私有数据,通常使用i2c_set_clientdata函数将私有数据与i2c_client相关联,方便后续的操作函数访问。 我们在学习其他设备驱动的时候就知道了probe函数是设备与驱动匹配成功后被调用执行的。它的原型通常如下所示: staticint i2c_device_probe(struct i2c_client *client, const struct i2c_device_id *id); ...
i2c_set_clientdata(new_client, chip); new_client->addr = address; new_client->adapter = adapter; new_client->driver = &pca953x_driver; new_client->flags = 0; strlcpy(new_client->name, "pca953x", I2C_NAME_SIZE); if ((err = i2c_attach_client(new_client)))//注册i2c_client ...
struct i2c_client *client = to_i2c_client(dev); struct data *data = i2c_get_clientdata(client); if (data == NULL) return -ENODEV; data = i2c_smbus_read_byte_data(client, data->read_addr); if (data < 0) return data; return snprintf(buf, PAGE_SIZE, "0x%2.2x\n", data); ...
i2c_set_clientdata(client, mc9s); return devm_gpiochip_add_data(&client->dev, &mc9s->chip, mc9s); } static int mc33880_remove(struct spi_device *spi) { struct mc33880 *mc; mc = spi_get_drvdata(spi); gpiochip_remove(&mc->chip); ...
i2c_set_clientdata(new_client, chip); new_client->addr = address; new_client->adapter = adapter; new_client->driver = &pca953x_driver; new_client->flags = 0; strlcpy(new_client->name, "pca953x", I2C_NAME_SIZE); if ((err = i2c_attach_client(new_client)))//注册i2c_client ...
i2c_set_clientdata(client, sgtl5000); printk("start codec register in %s\n", __FUNCTION__); ret = snd_soc_register_codec(&client->dev, &sgtl5000_driver, &sgtl5000_dai, 1); return ret; } static int sgtl5000_i2c_remove(struct i2c_client *client) { snd_soc_unregister_codec(&client...