找不到用于sysfs_notify()的kobject

时间:2016-10-27 23:50:50

标签: linux-kernel sysfs

我正在开发一个创建sysfs属性文件的驱动程序。旨在通过使用poll()方法向应用程序通知此属性的更改。我打算使用sysfs_notify()函数。只要您拥有属性的kobjectsysfs_notify()要求将其作为第一个参数),这很容易做到。如果使用kobject及相关功能,获取sysfs_create_file()非常简单。

我在correctly creating a sysfs file上阅读了这篇文章,解决了设备存在的用户空间通知与sysfs文件创建之间可能存在的竞争条件。这个解决方案也更清晰。

但是,我无法弄清楚如何为kobject中可以使用的每个属性(或父级)获取sysfs_notify()。在某一点上,struct device_driver等结构的成员为struct kobject kobj;。用struct driver_private *p;取代了(10年前)。此私有结构现在包含实际的kobject,无法使用。

我可以使用sysfs_notify()的新形式,还是有其他方法可以获得正确的kobject?我可能不得不回到“手动”创建sysfs属性。

0 个答案:

没有答案