Re: ACPI battery driver emits POWER_SUPPLY_STATUS_FULL when power lead plugged in

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux