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