小编raz*_*oru的帖子

如何获取Linux内核模块中的电池电量?

我试图在Linux内核模块中获取电池电量(模块通过modprobe插入).理想情况下,我希望使用内核API调用来获取电池信息.我在网上搜索了解决方案,我还探索了Linux内核源代码和Michael Meskes的程序源代码"acpi"的想法.

这些是我认为我可以使用的一些技术:

  1. 阅读并解析/proc/acpi/battery/BAT0/state/proc/acpi/battery/BAT0/info
  2. 读取/sys/class/power_supply/BAT0/charge_now并且charge_full不涉及解析.
  3. 如果我能弄清楚如何公开接口,我可以尝试使用来自Linux内核源驱动程序/ acpi/battery.c的调用.我可能需要这些方法acpi_battery_get_statusacpi_battery_get_info
  4. 我也注意到在drivers/acpi/sbs.c里面有一个方法acpi_battery_read,就在它上面有一个评论说"Driver Interface".如果有人知道如何使用它,这可能是另一种方式.

我认为在内核模块中读取文件可能是一个坏主意,但我不确定这些文件如何映射到内核函数调用,所以它可能没问题.

那么,你们能给我一些建议/建议吗?

编辑:我在下面的答案中包含了我的解决方案.

kernel-module acpi linux-kernel

14
推荐指数
1
解决办法
7940
查看次数

标签 统计

acpi ×1

kernel-module ×1

linux-kernel ×1