thermal: imx: Use driver's local data to decide whether to run a measurement
Use driver's local data to evaluate the need to run or not to run a measurement. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Link: https://lore.kernel.org/r/20200703104354.19657-3-andrzej.p@collabora.com
This commit is contained in:
parent
7a7d66f26b
commit
d92ed2c9d3
|
@ -252,10 +252,11 @@ static int imx_get_temp(struct thermal_zone_device *tz, int *temp)
|
|||
const struct thermal_soc_data *soc_data = data->socdata;
|
||||
struct regmap *map = data->tempmon;
|
||||
unsigned int n_meas;
|
||||
bool wait;
|
||||
bool wait, run_measurement;
|
||||
u32 val;
|
||||
|
||||
if (thermal_zone_device_is_enabled(tz)) {
|
||||
run_measurement = !data->irq_enabled;
|
||||
if (!run_measurement) {
|
||||
/* Check if a measurement is currently in progress */
|
||||
regmap_read(map, soc_data->temp_data, &val);
|
||||
wait = !(val & soc_data->temp_valid_mask);
|
||||
|
@ -282,7 +283,7 @@ static int imx_get_temp(struct thermal_zone_device *tz, int *temp)
|
|||
|
||||
regmap_read(map, soc_data->temp_data, &val);
|
||||
|
||||
if (!thermal_zone_device_is_enabled(tz)) {
|
||||
if (run_measurement) {
|
||||
regmap_write(map, soc_data->sensor_ctrl + REG_CLR,
|
||||
soc_data->measure_temp_mask);
|
||||
regmap_write(map, soc_data->sensor_ctrl + REG_SET,
|
||||
|
|
Loading…
Reference in New Issue