* Re: Re: [PATCH 4/5] max17042: Fix value scaling for VCELL and avgVCELL
@ 2012-03-14 2:05 함명주
0 siblings, 0 replies; only message in thread
From: 함명주 @ 2012-03-14 2:05 UTC (permalink / raw)
To: bruce robertson, Anton Vorontsov
Cc: dirk.brandewie, linux-kernel, 박경민, Jason.Wortham
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=euc-kr, Size: 2760 bytes --]
bruce robertson<bruce.e.robertson@intel.com>, 2012-03-14 06:00 (GMT+09:00)
>
> Anton Vorontsov writes:
>
> > On Tue, Jan 24, 2012 at 09:26:07AM -0800, dirk.brandewie@gmail.com wrote:
> >> From: Bruce Robertson
> >>
> >> The bottom three bits of the register are don't care bits. The LSB
> >> value is 625 uV. Adjust the returned values appropriately
> >>
> >> Signed-off-by: Bruce Robertson
> >> Signed-off-by: Dirk Brandewie
> >> Acked-by: MyungJoo Ham
> >
> > I guess this was fixed long ago by the following patch:
> >
> > commit cf7a8c03db792894f436db5f3ffc44d947b9b068
> > Author: MyungJoo Ham
> > Date: Wed Aug 17 10:18:34 2011 +0900
> >
> > max17042_battery: Bugfix of incorrect voltage register value interpretation
> >
> > The calculation had error in getting voltage values from
> > MAX17042 registers. The least bit denotes 78.125uV (625/8).
>
> The multipliers I see in the patch are 83 making the voltages somewhat
> high and the low 3 bits are not masked off. I'm probably misreading the code.
The patch, commit cf7a8c03db, uses 78.125uV/bit, not 83uV/bit. The code before that patch uses 83uV/bit.
$ git show cf7a8c03db792894f436db5f3ffc44d947b9b068
[...]
diff --git a/drivers/power/max17042_battery.c b/drivers/power/max17042_battery.c
index 61fb6d7..a6dc9c7 100644
--- a/drivers/power/max17042_battery.c
+++ b/drivers/power/max17042_battery.c
@@ -111,12 +111,12 @@ static int max17042_get_property(struct power_supply *psy,
val->intval *= 10000; /* Units of LSB = 10mV */
break;
case POWER_SUPPLY_PROP_VOLTAGE_NOW:
- val->intval = max17042_read_reg(chip->client,
- MAX17042_VCELL) * 83; /* 1000 / 12 = 83 */
+ val->intval = max17042_read_reg(chip->client, MAX17042_VCELL)
+ * 625 / 8;
break;
case POWER_SUPPLY_PROP_VOLTAGE_AVG:
- val->intval = max17042_read_reg(chip->client,
- MAX17042_AvgVCELL) * 83;
+ val->intval = max17042_read_reg(chip->client, MAX17042_AvgVCELL)
+ * 625 / 8;
break;
case POWER_SUPPLY_PROP_CAPACITY:
val->intval = max17042_read_reg(chip->client,
>
> >
> > Signed-off-by: MyungJoo Ham
> > Signed-off-by: Philip Rakity
> > Signed-off-by: Kyungmin Park
> > Signed-off-by: Anton Vorontsov
> >
> > Thanks,
>
>
>
--
MyungJoo Ham (ÇÔ¸íÁÖ), PHD
System S/W Lab, S/W Platform Team, Software Center
Samsung Electronics
Cell: +82-10-6714-2858
ÿôèº{.nÇ+·®+%Ëÿ±éݶ\x17¥wÿº{.nÇ+·¥{±þG«éÿ{ayº\x1dÊÚë,j\a¢f£¢·hïêÿêçz_è®\x03(éÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?¨èÚ&£ø§~á¶iOæ¬z·vØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?I¥
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2012-03-14 2:05 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-14 2:05 Re: [PATCH 4/5] max17042: Fix value scaling for VCELL and avgVCELL 함명주
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome