Linux kernel 识别创建sysfs项的内核模块

Linux kernel 识别创建sysfs项的内核模块,linux-kernel,linux-device-driver,Linux Kernel,Linux Device Driver,在运行的Linux系统上,我想知道哪个设备驱动程序模块创建了特定的sysfs条目。有可能知道吗?我知道我可以在内核源代码中搜索相关字符串并尝试识别。但是,有没有办法不这样做呢?您可以通过查看其源代码来找到哪个驱动程序创建了sysfs条目。如果驱动程序在其初始化/退出序列中分别使用设备\u创建\u文件()/device\u删除\u文件(),则可以确保驱动程序已创建sysfs属性文件。 您还可以在源代码中找到设备属性(\u name、\u mode、\u show、\u store)宏,以了解sys

在运行的Linux系统上,我想知道哪个设备驱动程序模块创建了特定的sysfs条目。有可能知道吗?我知道我可以在内核源代码中搜索相关字符串并尝试识别。但是,有没有办法不这样做呢?

您可以通过查看其源代码来找到哪个驱动程序创建了sysfs条目。如果驱动程序在其初始化/退出序列中分别使用设备\u创建\u文件()/device\u删除\u文件(),则可以确保驱动程序已创建sysfs属性文件。 您还可以在源代码中找到设备属性(\u name、\u mode、\u show、\u store)宏,以了解sysfs文件提供的功能。 通常,您可以对文件进行cat或向其回显字符串。
cat/sys/../file将对应于_show函数,echo/sys/../file将对应于宏中提到的_store函数。

感谢三丽鸥的回复。我知道你提到的事情。我的问题是,给定一个sysfs条目,是否可以告诉它在运行的Linux系统上属于哪个驱动程序模块(如果由lsmod列出)。我怀疑是否有直接的方法可以做到这一点。。如果您遇到一个问题,请在此处分享:)