From 8d69c3efae657573519197b806fdb55f5920b4a9 Mon Sep 17 00:00:00 2001 From: Greg Meiste Date: Fri, 30 Jul 2010 09:28:56 -0500 Subject: [PATCH] power: ds2781: Use correct value for Rsnsp The current being reported by the DS2781 battery driver was off due to the incorrect value being used for Rsnsp. The DS2781 has a register with the correct value, so use it instead of a hard coded value. Change-Id: I6fbd32a2a890232a805a2d4f1e595b0b3daf30e8 Signed-off-by: Greg Meiste --- drivers/power/ds2781_battery.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/power/ds2781_battery.c b/drivers/power/ds2781_battery.c index 848bfc88b3ca..6b9641f72711 100644 --- a/drivers/power/ds2781_battery.c +++ b/drivers/power/ds2781_battery.c @@ -171,14 +171,14 @@ static void ds2781_parse_data(u8 *raw, struct battery_status *s) s->voltage_uV = n * 9760; - /* Get Current: Unit= 1.5625uV x Rsnsp(67)=104.68 */ + /* Get Current: Unit= 1.5625uV x Rsnsp */ n = ((raw[DS2781_REG_CURR_MSB]) << 8) | raw[DS2781_REG_CURR_LSB]; - s->current_uA = ((n * 15625) / 10000) * 67; + s->current_uA = ((n * 15625) / 10000) * raw[DS2781_REG_RSNSP]; n = ((raw[DS2781_REG_AVG_CURR_MSB]) << 8) | raw[DS2781_REG_AVG_CURR_LSB]; - s->current_avg_uA = ((n * 15625) / 10000) * 67; + s->current_avg_uA = ((n * 15625) / 10000) * raw[DS2781_REG_RSNSP]; /* Get Temperature: * Unit=0.125 degree C,therefore, give up LSB , -- 2.34.1