Bug#589231: linux-image-2.6.32-5-powerpc: pmu_battery is not loaded automatically, so ibook battery detection does not work
Battery-status reporting on all pmu based powerpc machines is currently completely broken. This worked in previous debian releases, but the switch to the new pmu-battery module
and UPower broke things.
There is a small bug in the pmu-battery module that reports the status always as full. This has been fixed in 2.6.33. I could probably track down the commit (but I suspect a diff of this module code between debian and 2.6.33 is minimal).
Then there is UPower. It seems that hal (which worked fine) is replaced by UPower. Unfortunately, UPowers upstream maintainer thinks it is bad for userspace to poll battery devices (when the battery is full, it stops polling). He may be right, but since there is a lot of slightly broken hardware out there, the kernel is not always able to send a signal that the status changed to discharging. He blames the kernel, kernel people blame upower.... This caused problems on x86 with the result the upstream maintainer seems now rather uncooperative imho.
AFAIK the pmu hardware does not send any signal when the battery status changes. However, the pmu driver is polling the pmu anyway ever few secs. So it theoretically could send a signal to userspace. However, the linux pmu driver is a mess, and I do not want to touch it. Moreover, the battery gets now handled by the pmu-battery driver. Which is not doing polling. Adding another layer of polling the pmu in pmu-battery is silly.
By far the easiest solution would be to let upower poll full batteries on mac every 30 secs or so (just like it does on not-full batteries).
I can try to make patches, but I would like to see some discussion about the proper cause of action first.