From: Greg Meiste Date: Fri, 30 Jul 2010 14:28:56 +0000 (-0500) Subject: power: ds2781: Use correct value for Rsnsp X-Git-Tag: firefly_0821_release~9834^2~741 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=8d69c3efae657573519197b806fdb55f5920b4a9;p=firefly-linux-kernel-4.4.55.git 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 --- 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 ,