在/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);
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);
相关文章推荐
- sys/class 下文件节点创建实例
- python类:class创建、数据方法属性及访问控制
- 进一步优化—IE8以下浏览器不支持document.getElementsByClassName() 访问节点;怎么解决?---封装自己的类名
- (一)小记——驱动中使用class_device_create()报错的原因、自动创建设备节点
- [转]浅析/sys/class目录的创建流程
- device_create device_destroy 使用==mknod及通过class_create自动创建设备节点
- 5、层次关系访问节点和创建节点
- Documentation:Linux/GPIO,应用层写/sys/class/gpio/export文件,创建gpio107 gpio108等
- 自动创建设备节点class_create 和device_create
- linux下自动创建设备文件节点---class
- JavaScript DOM概述(获取节点的方法/节点的访问关系/节点创建添加删除复制/属性获取设置删除)
- device_create device_destroy 使用==mknod及通过class_create自动创建设备节点
- linux驱动之节点创建 class device_create register_chrdev udev misc_register
- python类:class创建、数据方法属性及访问控制详解
- 创建3个节点。sys下面和proc、dev下面。
- Linux下创建GPIO(/sys/class/gpio)
- python类:class创建、数据方法属性及访问控制详解
- JavaScript中对DOM节点的访问、创建、修改、删除
- 4.层次访问节点和创建节点
- sys下面 proc下面,dev下面分别创建一个节点