【发布时间】:2016-08-16 18:29:07
【问题描述】:
在 linux 设备驱动程序中,在 probe 中创建 sysfs 属性太不自然了——特别是 it experiences a race condition with userspace。推荐的解决方法是将您的属性添加到各种默认属性组,以便在探测之前自动创建它们。对于设备驱动程序,struct device_driver 包含用于此目的的 const struct attribute_group **groups。
但是,struct attribute_group 只获得了二进制属性 in Linux 3.11 的字段。对于较旧的内核(特别是 3.4),设备驱动程序应如何在探测之前创建 sysfs 二进制属性?
【问题讨论】:
-
哦,你应该给它一点,看看你有多少眼球......
-
@Will 恢复了...让我们试一试。
-
@RadLexus 您可能会注意到该博客文章实际上是我问题中的第一个链接...
-
也许没有办法做到这一点,因为merge comment itself 说:“还有创建二进制文件作为属性组的能力,以解决这种竞争条件,这是以前不可能做到的这个,所以驱动坏了是我的错。”
-
@RomanKhimov 这似乎是一个相当权威的消息来源,可以说“这是不可能的”。提交作为答案,我会接受。
标签: linux-kernel linux-device-driver race-condition sysfs