我正在嘗試獲取Linux內核模塊內的電池電量(模塊是通過modprobe插入的)。我最好喜歡使用內核API調用來獲取電池信息。我在網上搜索瞭解決方案,並且我還探索了Linux內核源代碼和Michael Meskes提供的關於想法的程序「acpi」的來源。如何獲得Linux內核模塊內的電池電量?
這些都是一些我認爲我可以使用的技術:
- 讀取和
/sys/class/power_supply/BAT0/charge_now
和charge_full
解析/proc/acpi/battery/BAT0/state
和/proc/acpi/battery/BAT0/info
- 讀與不涉及解析。
- 我可以嘗試使用來自Linux內核源驅動程序/ acpi/battery.c的調用,如果我能弄清楚如何暴露接口。我可能需要的方法
acpi_battery_get_status
和acpi_battery_get_info
- 我還注意到,在drivers/acpi/sbs.c中有一個方法
acpi_battery_read
,在它的正上方有一個註釋「Driver Interface」。如果有人知道如何使用它,這可能是另一種方式。
我認爲在內核模塊中讀取文件可能是一個壞主意,但我不確定這些文件如何映射到內核函數調用,所以它可能沒問題。
那麼,你們能給我一些建議嗎?
編輯:我在下面的答案中包含了我的解決方案。
爲什麼你想要這樣做呢? – 2011-02-11 09:30:19
@Andy有一些與電池電平有關的功能。 – razvanlupusoru 2011-02-16 03:28:59