Richard Hughes wrote:
On Fri, 2009-01-23 at 20:02 -0200, Henrique de Moraes Holschuh wrote:
On Fri, 23 Jan 2009, Alexey Starikovskiy wrote:
This is probably related to this piece of code (drivers/acpi/battery.c),
similar code exists in drivers/acpi/sbs.c, but it is not relevant to your case:
case POWER_SUPPLY_PROP_STATUS:
if (battery->state & 0x01)
val->intval = POWER_SUPPLY_STATUS_DISCHARGING;
else if (battery->state & 0x02)
val->intval = POWER_SUPPLY_STATUS_CHARGING;
else if (battery->state == 0)
val->intval = POWER_SUPPLY_STATUS_FULL;
else
val->intval = POWER_SUPPLY_STATUS_UNKNOWN;
break;
Actually, state==0 means POWER_SUPPLY_STATUS_NOT_CHARGING, so if that is preferred it could be changed.
It should be fixed, yes. Batteries being idle without being full are really
common in laptops with battery-life-saving functions (charge/stop-charge
threshold control).
I suspected this might be the case. Is there a way we can get true
battery state out of acpi for the battery? I always thought there could
be two booleans: charging and discharging.
I guess fully charged isn't just !charging and !discharging.
Richard.
How about such definition: Fully charged == current_capacity >= 90 % of last_capacity && !charging and !discharging?
Alex.
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html