sysfs_create_group 如何创建sys节点

资源下载

  • 文件描述
sys_value.h
sys_value.c
  • 使用方式
unzip sys_value.zip && rm sys_value.zip 
如果要在 node-i2c.c 中 使用这个 zip 中提供的函数
1.
讲 sys_value 文件夹中的 sys_value.c 和 sys_value.h 拷贝到 node-i2c.c 同级目录中

2.
修改node-i2c.c所在目录的Makefile
obj-$(CONFIG_NODE_I2C) := node-i2c.o
为
obj-$(CONFIG_NODE_I2C) := node-i2c.o sys_value.o

3.
在 node-i2c.c 中 添加
#include "sys_value.h"

4.
在 node-i2c.c probe 中 添加 // 针对i2c
create_sys_group(&client->dev);
在 node-i2c.c remove 中 添加
remove_sys_group(&client->dev);
注意参数类型 struct device *

// platform &pdev->dev

  • 内容描述
默认 在 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()功能相同,只是在软链接文件已存在时不会出现警告。

1.
retval = sysfs_create_link(NULL, &client->dev.kobj, "value_link"); //在 /sys 下面创建 value_link文件夹,并链接指向 &client->dev.kobj
if (retval < 0) {
	pr_err("Failed to create link!");
	return -ENOMEM;
}

2.
sysfs_remove_link(NULL, "value_link");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值