2.6.33的内核, 使用了新的 power_supply结构来显示电池信息, 停止了apm方式的电池信息,
这样在gnome-power-manage 中, 就可以显示电源信息, 而不再依赖于 基于 apm的apply小程序了。
但是在龙芯的power_supply中有些小问题, 使得gnome-power-manage中只能显示电池状态, 比如充电中,放电中, 已充满, 而不能显示裆前的电量百分比,
查看gnome-power-manager的依赖包, 发现它是通过devicekit-power这个包通过dbus来获取电池电%的,在devicekit-power的代码中.
读取/sys/class/power_supply/yeeloong_bat/charge_now ,得到电池的 微安时信息, 来换算成具体的电池电量,
而在龙芯的2.6.33内核中并没有支持charge_now这个节点, 我们需要建立这个信息文件.
检查ec_kb3310b.h,在REG_BAT_*的定义中, 没有找到当前电量信息的定义,只好用电量百分比(REG_BAT_RELATIVE_CAP)和满充电电量(REG_BAT_FULLCHG_CAP) 来换算出当前电量。
另外电池设计电压显示为2.2V ,设计容量显示为10.8AH 明显不对,估计是2个参数交换了, 算出来的总容量倒是没有问题, 哈哈。
在补丁中修正了一下,
在补丁中还增加了满充电电量的输出,POWER_SUPPLY_PROP_CHARGE_FULL (/sys/class/power_supply/yeeloong_bat/charge_full)
补丁见附件
附件 | 大小 |
---|---|
yeeloong_battery.diff.gz | 500 字节 |