- power_supply-add-charge_counter-property-and-olpc_battery-support-for-it.patch removed from -mm tree

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

 



The patch titled
     power_supply: add CHARGE_COUNTER property and olpc_battery support for it
has been removed from the -mm tree.  Its filename was
     power_supply-add-charge_counter-property-and-olpc_battery-support-for-it.patch

This patch was dropped because it was merged into mainline or a subsystem tree

The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/

------------------------------------------------------
Subject: power_supply: add CHARGE_COUNTER property and olpc_battery support for it
From: Andres Salomon <dilinger@xxxxxxxxxx>

This adds PROP_CHARGE_COUNTER to the power supply class (documenting it as
well).  The OLPC battery driver uses this for spitting out its ACR values
(in uAh).  We have some rounding errors (the data sheet claims 416.7, the
math actually works out to 416.666667, so we're forced to choose between
overflows or precision loss.  I chose precision loss, and stuck w/ data
sheet values), but I don't think anyone will care that much.

Signed-off-by: Andres Salomon <dilinger@xxxxxxxxxx>
Cc: "Richard A. Smith" <richard@xxxxxxxxxx>
Cc: Anton Vorontsov <cbouatmailru@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
---

 Documentation/power/power_supply_class.txt |    4 ++++
 drivers/power/olpc_battery.c               |   11 ++++++++++-
 drivers/power/power_supply_sysfs.c         |    1 +
 include/linux/power_supply.h               |    1 +
 4 files changed, 16 insertions(+), 1 deletion(-)

diff -puN Documentation/power/power_supply_class.txt~power_supply-add-charge_counter-property-and-olpc_battery-support-for-it Documentation/power/power_supply_class.txt
--- a/Documentation/power/power_supply_class.txt~power_supply-add-charge_counter-property-and-olpc_battery-support-for-it
+++ a/Documentation/power/power_supply_class.txt
@@ -101,6 +101,10 @@ of charge when battery became full/empty
 charge when battery considered full/empty at given conditions (temperature,
 age)". I.e. these attributes represents real thresholds, not design values.
 
+CHARGE_COUNTER - the current charge counter (in µAh).  This could easily
+be negative; there is no empty or full value.  It is only useful for
+relative, time-based measurements.
+
 ENERGY_FULL, ENERGY_EMPTY - same as above but for energy.
 
 CAPACITY - capacity in percents.
diff -puN drivers/power/olpc_battery.c~power_supply-add-charge_counter-property-and-olpc_battery-support-for-it drivers/power/olpc_battery.c
--- a/drivers/power/olpc_battery.c~power_supply-add-charge_counter-property-and-olpc_battery-support-for-it
+++ a/drivers/power/olpc_battery.c
@@ -19,7 +19,7 @@
 
 #define EC_BAT_VOLTAGE	0x10	/* uint16_t,	*9.76/32,    mV   */
 #define EC_BAT_CURRENT	0x11	/* int16_t,	*15.625/120, mA   */
-#define EC_BAT_ACR	0x12
+#define EC_BAT_ACR	0x12	/* int16_t,	*416.7,      µAh  */
 #define EC_BAT_TEMP	0x13	/* uint16_t,	*100/256,   °C  */
 #define EC_AMB_TEMP	0x14	/* uint16_t,	*100/256,   °C  */
 #define EC_BAT_STATUS	0x15	/* uint8_t,	bitmask */
@@ -289,6 +289,14 @@ static int olpc_bat_get_property(struct 
 		ec_word = be16_to_cpu(ec_word);
 		val->intval = ec_word * 100 / 256;
 		break;
+	case POWER_SUPPLY_PROP_CHARGE_COUNTER:
+		ret = olpc_ec_cmd(EC_BAT_ACR, NULL, 0, (void *)&ec_word, 2);
+		if (ret)
+			return ret;
+
+		ec_word = be16_to_cpu(ec_word);
+		val->intval = ec_word * 4167 / 10;
+		break;
 	case POWER_SUPPLY_PROP_SERIAL_NUMBER:
 		ret = olpc_ec_cmd(EC_BAT_SERIAL, NULL, 0, (void *)&ser_buf, 8);
 		if (ret)
@@ -317,6 +325,7 @@ static enum power_supply_property olpc_b
 	POWER_SUPPLY_PROP_TEMP_AMBIENT,
 	POWER_SUPPLY_PROP_MANUFACTURER,
 	POWER_SUPPLY_PROP_SERIAL_NUMBER,
+	POWER_SUPPLY_PROP_CHARGE_COUNTER,
 };
 
 /* EEPROM reading goes completely around the power_supply API, sadly */
diff -puN drivers/power/power_supply_sysfs.c~power_supply-add-charge_counter-property-and-olpc_battery-support-for-it drivers/power/power_supply_sysfs.c
--- a/drivers/power/power_supply_sysfs.c~power_supply-add-charge_counter-property-and-olpc_battery-support-for-it
+++ a/drivers/power/power_supply_sysfs.c
@@ -99,6 +99,7 @@ static struct device_attribute power_sup
 	POWER_SUPPLY_ATTR(charge_empty),
 	POWER_SUPPLY_ATTR(charge_now),
 	POWER_SUPPLY_ATTR(charge_avg),
+	POWER_SUPPLY_ATTR(charge_counter),
 	POWER_SUPPLY_ATTR(energy_full_design),
 	POWER_SUPPLY_ATTR(energy_empty_design),
 	POWER_SUPPLY_ATTR(energy_full),
diff -puN include/linux/power_supply.h~power_supply-add-charge_counter-property-and-olpc_battery-support-for-it include/linux/power_supply.h
--- a/include/linux/power_supply.h~power_supply-add-charge_counter-property-and-olpc_battery-support-for-it
+++ a/include/linux/power_supply.h
@@ -78,6 +78,7 @@ enum power_supply_property {
 	POWER_SUPPLY_PROP_CHARGE_EMPTY,
 	POWER_SUPPLY_PROP_CHARGE_NOW,
 	POWER_SUPPLY_PROP_CHARGE_AVG,
+	POWER_SUPPLY_PROP_CHARGE_COUNTER,
 	POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN,
 	POWER_SUPPLY_PROP_ENERGY_EMPTY_DESIGN,
 	POWER_SUPPLY_PROP_ENERGY_FULL,
_

Patches currently in -mm which might be from dilinger@xxxxxxxxxx are

fix-lxfb-extend-pll-table-to-support-dotclocks-below-25-mhz.patch
git-input.patch
git-battery.patch
power_supply-add-charge_counter-property-and-olpc_battery-support-for-it-fix.patch

--
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux