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.

Danny

Reply via email to