如何在/ sys / class中创建bin属性文件?

时间:2015-12-27 08:52:57

标签: linux kernel driver

我想在/sys/class/mydev/bitmap中创建一个二进制文件,以表明我的设备不存在。但似乎没有Linux内核API(如create_device_bin_file)在class目录中创建二进制文件。我怎么能得到它?

我已经在mydev课程中创建了一个角色属性文件。代码如下

static int __init module_init(void)
{
    attr.show = pciex_devshow;
    attr.store = pciex_devstore;
    attr.attr.name = "state";
    attr.attr.mode = S_IRUSR | S_IWUSR;
    class_create_file(pciex_class, &attr); 
}

static ssize_t pciex_devshow(struct device *dev, struct device_attribute *attr, char *buf)
{
    struct dev_private *pdev;
    return snprintf(buf, PAGE_SIZE, "%c\r\n", dev_bitmap);
}

dev_bitmap 是十六进制格式变量,如何将其探索到用户空间?

1 个答案:

答案 0 :(得分:1)

我相信你所追求的是这些功能:

  • class_create
  • class_destroy

等。位于include/linux/device.h

Here' s(有点过时 - 功能签名从那时起改变了一点)教程如何使用此界面。

drivers/s390/char/tape_class.c包含一个创建通过此接口进行通信的设备的好例子。

同样this answer看起来会有所帮助。