Thread (4 messages) 4 messages, 2 authors, 2012-06-01

Re: [PATCH] ACPI Battery: Added capacity

From: Len Brown <lenb@kernel.org>
Date: 2012-06-01 23:00:05

On 04/09/2012 10:59 AM, Pandruvada, Srinivas wrote:
This can be computed in user space. But this patch is targeting ANDROID, where this needs change in Android framework. Other battery drivers are providing this field, so added this field in ACPI battery also.
okay.

Applied.

thanks,
Len Brown, Intel Open Source Technology Center

-----Original Message-----
From: Len Brown [mailto:lenb417@gmail.com] On Behalf Of Len Brown
Sent: Friday, April 06, 2012 6:29 PM
To: Pandruvada, Srinivas
Cc: linux-acpi@vger.kernel.org
Subject: Re: [PATCH] ACPI Battery: Added capacity

Can't this be computed in user-space?

-L

On 04/05/2012 08:38 PM, srinivas pandruvada wrote:
quoted
Added Capacity field, which is a pre-defined power_supply property. 
Calculating capacity using current charge/energy and full 
charge/energy.
Some user mode implementations are relying on capacity field to show 
battery strength and power down decision.

Signed-off-by: srinivas pandruvada <redacted>
---
 drivers/acpi/battery.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c index 
fcc13ac..997b369 100644
--- a/drivers/acpi/battery.c
+++ b/drivers/acpi/battery.c
@@ -251,6 +251,13 @@ static int acpi_battery_get_property(struct power_supply *psy,
 		else
 			val->intval = battery->capacity_now * 1000;
 		break;
+	case POWER_SUPPLY_PROP_CAPACITY:
+		if (battery->capacity_now && battery->full_charge_capacity)
+			val->intval = battery->capacity_now * 100/
+					battery->full_charge_capacity;
+		else
+			val->intval = 0;
+		break;
 	case POWER_SUPPLY_PROP_MODEL_NAME:
 		val->strval = battery->model_number;
 		break;
@@ -277,6 +284,7 @@ static enum power_supply_property charge_battery_props[] = {
 	POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN,
 	POWER_SUPPLY_PROP_CHARGE_FULL,
 	POWER_SUPPLY_PROP_CHARGE_NOW,
+	POWER_SUPPLY_PROP_CAPACITY,
 	POWER_SUPPLY_PROP_MODEL_NAME,
 	POWER_SUPPLY_PROP_MANUFACTURER,
 	POWER_SUPPLY_PROP_SERIAL_NUMBER,
@@ -293,6 +301,7 @@ static enum power_supply_property energy_battery_props[] = {
 	POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN,
 	POWER_SUPPLY_PROP_ENERGY_FULL,
 	POWER_SUPPLY_PROP_ENERGY_NOW,
+	POWER_SUPPLY_PROP_CAPACITY,
 	POWER_SUPPLY_PROP_MODEL_NAME,
 	POWER_SUPPLY_PROP_MANUFACTURER,
 	POWER_SUPPLY_PROP_SERIAL_NUMBER,
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help