您的位置:首页 > 其它

在/sys/class下创建访问节点

2017-07-26 09:33 295 查看
在驱动开发中我们经常要提供应用层或者debug的访问节点,内核中有一个接口class_register可以创建这种节点,下面是我在一个项目中使用的代码,有需要的可以参考,

static ssize_t headset_enable_store(struct class *class,struct class_attribute *attr, const char *buf, size_t count)
{
int value = simple_strtoul(buf, NULL, 0);

if(value) g_headset_enable = 1;
else g_headset_enable = 0;
return count;
}

static ssize_t headset_enable_show(struct class *class,struct class_attribute *attr, char *buf)
{
return sprintf(buf, "%d\n", g_headset_enable?1:0);
}

static struct class_attribute headset_class_attrs[] = {
__ATTR(enable,S_IRUGO|S_IWUSR,headset_enable_show,headset_enable_store),
__ATTR_NULL
};

static struct class headset_class = {
.name = "headset_class",
.class_attrs = headset_class_attrs,
};

class_register(&headset_class);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: