Skip to contentSkip to conversation

max17042: Change capacity property to use reported SOC register

PATCH 함명주 1 participant 1 message Mar 14, 2012

lore
Share & tools
lore

함명주

author
#0 lore raw

Anton Vorontsov<[email protected]>, 2012-03-14 03:34 (GMT+09:00)

Quoted 18 lines · On Tue, Jan 24, 2012 at 09:26:08AM -0800, [email protected] wrote:
Quoted 17 lines

From: Dirk Brandewie

The SOC register (0dh) reports the state of charge before empty compensation adjustments are applied. The max value reported by this register will decrease as the battery ages.

Use the RepSOC register (06h) to report the capacity of the battery. RepSOC contains a filtered version of the battery capacity after empty compensation adjustments have been applied.

Reported-by Gary Keyes
Signed-off-by Dirk Brandewie
---
 drivers/power/max17042_battery.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Quoted 14 lines

drivers/power/max17042_battery.c static int max17042_get_property(struct power_supply *psy, · line 163

Quoted 10 lines
drivers/power/max17042_battery.c +1 -1
index 6e96b58..2194278 100644
@@ -160,7 +160,7 @@ static int max17042_get_property(struct power_supply *psy,
  break;
  case POWER_SUPPLY_PROP_CAPACITY:
  val->intval = max17042_read_reg(chip->client,
- MAX17042_SOC) / 256;
+ MAX17042_RepSOC) / 256;

Applied. But I don't get it: PROP_CAPACITY should report percents! And it looks that it reports something very different.

The 8 most significant bits show values in percents. The least 8 bits show 1/256 percents.

Quoted 4 lines

Also, if you look down the file, you'll see this:

case POWER_SUPPLY_PROP_CHARGE_FULL:

I've just sent a patch to correct this problem: "max17042: fix CHARGE_FULL representation."

Cheers!
MyungJoo

--
MyungJoo Ham (함명주), PHD
System S/W Lab, S/W Platform Team, Software Center
Samsung Electronics
Cell: +82-10-6714-2858 �淸�{.n�+돴윯돪�+%듚�깁負쪐w��{.n�+돴쪐{깸G쳺��{ay����,j�f"톒쉹��묎�z_溫(�쉸듶줷"얎�m����G쳺�◀?솳鈺�&x�~뤳턨O뺞촾퇉v�^�m��� �띠�◀?뻀�