Sysfs导出设备属性

时间:2013-05-27 23:08:45

标签: linux-kernel linux-device-driver kernel

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

1 个答案:

答案 0 :(得分: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