sysfs_create_group

版权声明:本文为博主原创文章,任何组织或者个人可以在任何媒介上发表或转载我的文章、图片等.且转载后必须注明出处和邮箱,博客地址(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");

猜你喜欢

转载自blog.csdn.net/u011011827/article/details/89431996
今日推荐