From: Andrzej Pietrasiewicz Date: Fri, 3 Jul 2020 10:43:53 +0000 (+0200) Subject: thermal: imx: Use driver's local data to decide whether to run a measurement X-Git-Tag: v5.9-rc1~114^2~27 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=d92ed2c9d3ff;p=tomoyo%2Ftomoyo-test1.git 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 Signed-off-by: Daniel Lezcano Link: https://lore.kernel.org/r/20200703104354.19657-3-andrzej.p@collabora.com --- diff --git a/drivers/thermal/imx_thermal.c b/drivers/thermal/imx_thermal.c index 9700ae39feb7..c0efa7bc48e2 100644 --- a/drivers/thermal/imx_thermal.c +++ b/drivers/thermal/imx_thermal.c @@ -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,