mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-31 04:01:48 -04:00
bq27x00_battery: Fix reporting battery temperature
Reported temperature can be also negative, so cache value in non negative Kelvin degree. Signed-off-by: Pali Rohár <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]>
This commit is contained in:
parent
60a1c4d41b
commit
5dc3443eb0
1 changed files with 5 additions and 5 deletions
|
|
@ -299,7 +299,7 @@ static int bq27x00_battery_read_energy(struct bq27x00_device_info *di)
|
|||
}
|
||||
|
||||
/*
|
||||
* Return the battery temperature in tenths of degree Celsius
|
||||
* Return the battery temperature in tenths of degree Kelvin
|
||||
* Or < 0 if something fails.
|
||||
*/
|
||||
static int bq27x00_battery_read_temperature(struct bq27x00_device_info *di)
|
||||
|
|
@ -312,10 +312,8 @@ static int bq27x00_battery_read_temperature(struct bq27x00_device_info *di)
|
|||
return temp;
|
||||
}
|
||||
|
||||
if (bq27xxx_is_chip_version_higher(di))
|
||||
temp -= 2731;
|
||||
else
|
||||
temp = ((temp * 5) - 5463) / 2;
|
||||
if (!bq27xxx_is_chip_version_higher(di))
|
||||
temp = 5 * temp / 2;
|
||||
|
||||
return temp;
|
||||
}
|
||||
|
|
@ -641,6 +639,8 @@ static int bq27x00_battery_get_property(struct power_supply *psy,
|
|||
break;
|
||||
case POWER_SUPPLY_PROP_TEMP:
|
||||
ret = bq27x00_simple_value(di->cache.temperature, val);
|
||||
if (ret == 0)
|
||||
val->intval -= 2731;
|
||||
break;
|
||||
case POWER_SUPPLY_PROP_TIME_TO_EMPTY_NOW:
|
||||
ret = bq27x00_simple_value(di->cache.time_to_empty, val);
|
||||
|
|
|
|||
Loading…
Reference in a new issue