|
@@ -270,14 +270,14 @@ static int max17042_get_property(struct power_supply *psy,
|
|
|
if (ret < 0)
|
|
|
return ret;
|
|
|
/* LSB is Alert Minimum. In deci-centigrade */
|
|
|
- val->intval = (data & 0xff) * 10;
|
|
|
+ val->intval = sign_extend32(data & 0xff, 7) * 10;
|
|
|
break;
|
|
|
case POWER_SUPPLY_PROP_TEMP_ALERT_MAX:
|
|
|
ret = regmap_read(map, MAX17042_TALRT_Th, &data);
|
|
|
if (ret < 0)
|
|
|
return ret;
|
|
|
/* MSB is Alert Maximum. In deci-centigrade */
|
|
|
- val->intval = (data >> 8) * 10;
|
|
|
+ val->intval = sign_extend32(data >> 8, 7) * 10;
|
|
|
break;
|
|
|
case POWER_SUPPLY_PROP_TEMP_MIN:
|
|
|
val->intval = chip->pdata->temp_min;
|