我正在开发一个创建sysfs属性文件的驱动程序.旨在通过使用该poll()方法通知应用程序对此属性的更改.我打算使用这个sysfs_notify()功能.只要您拥有kobject属性(sysfs_notify()要求作为第一个参数),这很容易做到.kobject如果使用sysfs_create_file()和相关功能,获得很容易.
我在正确创建一个sysfs文件时阅读了这篇文章,该文件解决了设备存在的用户空间通知和sysfs文件创建之间可能存在的竞争条件.这个解决方案也更清洁.
但是,我无法弄清楚如何获取kobject我可以使用的每个属性(或父级)sysfs_notify().在一点结构,如有struct device_driver一个成员struct kobject kobj;.这已被取代(10年前)struct driver_private *p;.此私有结构现在包含实际结构kobject,无法使用.
有没有sysfs_notify()我可以使用的新形式,还是有另一种方法来获得正确的kobject?我可能不得不回到"手动"创建sysfs属性.