3

我已经成功地向我的设备驱动程序添加了一个设备属性,但是在我发现的所有示例中,该属性都用于向内核注入数据,而我的目标是从内核导出一些数据以使其在用户空间中可见. 从内核空间写入该文件的正确方法是什么?这样可以从用户空间检索数据吗?

4

1 回答 1

2

要从内核读取数据,只需在show处理程序中返回它:

static ssize_t show_myvalue(struct device *dev,
                            struct device_attribute *attr, char *buf)
{
        struct my_device *mydev = ...dev...;
        return sprintf(buf, "%d\n", mydev->myvalue);
}

static DEVICE_ATTR(myvalue, S_IRUGO, show_myvalue, NULL);

如果您必须通知用户空间更改,请使用sysfs_notify.

于 2013-05-28T08:56:29.720 回答