版权声明:本文为博主原创文章,任何组织或者个人可以在任何媒介上发表或转载我的文章、图片等.且转载后必须注明出处和邮箱,博客地址(https://blog.csdn.net/u011011827),本人邮箱([email protected]) https://blog.csdn.net/u011011827/article/details/89431996
- 使用方式
unzip sys_value.zip
rm sys_value.zip
如果要在 node-i2c.c 中 使用这个 zip提供的函数
修改
obj-$(CONFIG_NODE_I2C) := node-i2c.o
为
obj-$(CONFIG_NODE_I2C) := node-i2c.o sys_value.o
在 node-i2c.c 中 添加
#include "sys_value.h"
在 node-i2c.c probe 中 添加 // 针对i2c
create_sys_group(&client->dev);
在 node-i2c.c remove 中 添加
remove_sys_group(&client->dev);
注意参数类型 struct device *
// platform &pdev->dev
- 文件描述
sys_value.h
sys_value.c
- 内容描述
默认 在 device 下面生成 sys node
打开sys_value.h 中的SYS_IN_VALUE,就在 /sys/value 下生成 node
出口参数变为无参(注意)
定义 SYS_IN_VALUE 的时候不可以用两次(注意)
资源下载
- 其他
sysfs_create_link()在kobj目录下创建指向target目录的软链接,name为软链接文件名称。
sysfs_create_link_nowarn()与sysfs_create_link()功能相同,只是在软链接文件已存在时不会出现警告。
retval = sysfs_create_link(NULL, &client->dev.kobj, "touchscreen"); //在 /sys 下面创建 touchscreen 文件夹,并链接指向 &client->dev.kobj
if (retval < 0) {
pr_err("Failed to create link!");
return -ENOMEM;
}
sysfs_remove_link(NULL, "touchscreen");