On Wednesday 31 October 2007, Alexey Starikovskiy wrote: > Andrey Borzenkov wrote: > > I suspect new ACPI AC adapter code but have to add some printk's to be > > sure. > > > > To reproduce - plug in AC cord, suspend, unplug, resume - kpowersave and > > sysfs still show AC adapter online. Or other way round. > > > > -andrey > > Please check if this patch helps. > It does not even compile :) On serious note (after adding forward declaration) - patch half works. It does make "online" return true value (which confirms that underlying ACPI works correctly) but HAL still does not notice it. The problem is, with power_supply interface HAL does not use polling, it relies on CHANGE event. This event is apparently never generated if AC adapter state changes on resume. So the obvious fix is to compare AC state before and after suspend in ->resume function and generate synthetic CHANGE event if something has changed. This will also make superfluous polling redundant.
Attachment:
signature.asc
Description: This is a digitally signed message part.