Commit 14bbe988 authored by Amit Kucheria's avatar Amit Kucheria Committed by Eduardo Valentin

drivers: thermal: tsens: Common get_temp() learns to do ADC conversion

get_temp() learns to return temperature regardless of whether it is
returned as ADC code or direct temperature.
Signed-off-by: default avatarAmit Kucheria <amit.kucheria@linaro.org>
Signed-off-by: default avatarEduardo Valentin <edubezval@gmail.com>
parent c8b61690
...@@ -129,10 +129,15 @@ int get_temp_tsens_valid(struct tsens_priv *priv, int i, int *temp) ...@@ -129,10 +129,15 @@ int get_temp_tsens_valid(struct tsens_priv *priv, int i, int *temp)
if (ret) if (ret)
return ret; return ret;
mask = GENMASK(priv->fields[LAST_TEMP_0].msb, if (priv->feat->adc) {
priv->fields[LAST_TEMP_0].lsb); /* Convert temperature from ADC code to milliCelsius */
/* Convert temperature from deciCelsius to milliCelsius */ *temp = code_to_degc(last_temp, s) * 1000;
*temp = sign_extend32(last_temp, fls(mask) - 1) * 100; } else {
mask = GENMASK(priv->fields[LAST_TEMP_0].msb,
priv->fields[LAST_TEMP_0].lsb);
/* Convert temperature from deciCelsius to milliCelsius */
*temp = sign_extend32(last_temp, fls(mask) - 1) * 100;
}
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment