max17042: Change capacity property to use reported SOC register
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 KeyesSigned-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@@ -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_CAPACITYshould 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����띠�◀?뻀�