Module 使用哪个文件系统公开温度传感器的读数/限制
我目前经常遇到一些硬件过热的问题。通过查看Linux内核,我发现目前完全支持热传感器,但是预配置的限制似乎太高了。我目前正在寻找修改内核模块的方法,但我不确定修改它的最佳方法是什么。我希望:Module 使用哪个文件系统公开温度传感器的读数/限制,module,linux-kernel,sysfs,Module,Linux Kernel,Sysfs,我目前经常遇到一些硬件过热的问题。通过查看Linux内核,我发现目前完全支持热传感器,但是预配置的限制似乎太高了。我目前正在寻找修改内核模块的方法,但我不确定修改它的最佳方法是什么。我希望: 在某个地方有一个文件,在那里我可以读取当前的温度 有几个文件可以从用户空间修改当前限制 现在我不确定我应该使用什么虚拟文件接口来实现这一点。到目前为止,我看到了以下选项: 通过/dev/文件系统公开所有数据,使用ioctl()修改限制 在sysfs中添加文件 在debugfs中添加文件 我不确定每种
- 在某个地方有一个文件,在那里我可以读取当前的温度
- 有几个文件可以从用户空间修改当前限制
- 通过
文件系统公开所有数据,使用/dev/
修改限制ioctl()
- 在sysfs中添加文件
- 在debugfs中添加文件
/sys/class/hwmon/hwmon0/device/temp1_input
获得的,但是它被删除了
debugfs似乎也不是正确的方式,因为我对内核调试不太感兴趣,而是提供了一种更好的方式来配置和读取传感器
然而,对于这样一个简单的设置,devfs似乎有点过头了
公开传感器数据并通过用户空间配置限制的最佳方式是什么?根据,已经为该用户定义了temp[1-*]\u max
和temp[1-*]\u crit
,并应尽可能实现读写。
如果您的驱动程序还没有这样做,那么这就是您想要实现的。无需公开温度传感器的文件系统。使用thermal framework将温度传感器注册为thermal zone,并提供get/sysfs接口。可以从用户空间使用。 通过下面的链接了解如何从用户空间访问它
这个问题对我来说似乎过于宽泛/主要的观点基础。。。甚至在
sysfs
/debugfs
之间也没有格式良好的边界。至于/dev
,取决于设备是否代表传感器,这是非常主观的。对我来说,sysfs
是传感器暴露极限的最合适的地方。@Tsyvarev:是的,我不确定它是否太宽或引起太多的讨论。我希望得到一些一般规则,但正如您所说,我甚至不确定sysfs
和debugfs
之间的明确界限。我不确定sysfs是否是正确的位置,因为和。您提到的问题在/sys
下不允许这样的事情,他们只是建议使用设备表示法。(这个设备是另一个重要的东西,然后是/dev
)谢谢你的提示,它看起来真的是放置数据的最好地方。就我所知,我必须以某种方式将设备注册到hwmon驱动程序中,对吗?这将是更好的选择,但严格来说并不是必需的。