我想在/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 是十六进制格式变量,如何将其探索到用户空间?
答案 0 :(得分:1)
我相信你所追求的是这些功能:
class_create
class_destroy
Here' s(有点过时 - 功能签名从那时起改变了一点)教程如何使用此界面。
drivers/s390/char/tape_class.c
包含一个创建通过此接口进行通信的设备的好例子。
同样this answer看起来会有所帮助。