Commit 0adad092 authored by Daniel Lezcano's avatar Daniel Lezcano Committed by Rafael J. Wysocki

thermal/drivers/da9062: Don't access the thermal zone device fields

The driver is reading the passive polling rate in the thermal zone
structure. We want to prevent the drivers to rummage around in the
thermal zone structure.

On the other side, the delay is what the driver passed to the
thermal_zone_device_register() function, so it has already the
information.

Reuse the information we have instead of reading the information we
set.
Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: default avatarAdam Ward <DLG-Adam.Ward.opensource@dm.renesas.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent dbb0ea15
...@@ -41,6 +41,8 @@ ...@@ -41,6 +41,8 @@
#define DA9062_MILLI_CELSIUS(t) ((t) * 1000) #define DA9062_MILLI_CELSIUS(t) ((t) * 1000)
static unsigned int pp_tmp = DA9062_DEFAULT_POLLING_MS_PERIOD;
struct da9062_thermal_config { struct da9062_thermal_config {
const char *name; const char *name;
}; };
...@@ -95,7 +97,10 @@ static void da9062_thermal_poll_on(struct work_struct *work) ...@@ -95,7 +97,10 @@ static void da9062_thermal_poll_on(struct work_struct *work)
thermal_zone_device_update(thermal->zone, thermal_zone_device_update(thermal->zone,
THERMAL_EVENT_UNSPECIFIED); THERMAL_EVENT_UNSPECIFIED);
delay = thermal->zone->passive_delay_jiffies; /*
* pp_tmp is between 1s and 10s, so we can round the jiffies
*/
delay = round_jiffies(msecs_to_jiffies(pp_tmp));
queue_delayed_work(system_freezable_wq, &thermal->work, delay); queue_delayed_work(system_freezable_wq, &thermal->work, delay);
return; return;
} }
...@@ -155,7 +160,6 @@ static int da9062_thermal_probe(struct platform_device *pdev) ...@@ -155,7 +160,6 @@ static int da9062_thermal_probe(struct platform_device *pdev)
{ {
struct da9062 *chip = dev_get_drvdata(pdev->dev.parent); struct da9062 *chip = dev_get_drvdata(pdev->dev.parent);
struct da9062_thermal *thermal; struct da9062_thermal *thermal;
unsigned int pp_tmp = DA9062_DEFAULT_POLLING_MS_PERIOD;
const struct of_device_id *match; const struct of_device_id *match;
int ret = 0; int ret = 0;
...@@ -208,8 +212,7 @@ static int da9062_thermal_probe(struct platform_device *pdev) ...@@ -208,8 +212,7 @@ static int da9062_thermal_probe(struct platform_device *pdev)
} }
dev_dbg(&pdev->dev, dev_dbg(&pdev->dev,
"TJUNC temperature polling period set at %d ms\n", "TJUNC temperature polling period set at %d ms\n", pp_tmp);
jiffies_to_msecs(thermal->zone->passive_delay_jiffies));
ret = platform_get_irq_byname(pdev, "THERMAL"); ret = platform_get_irq_byname(pdev, "THERMAL");
if (ret < 0) if (ret < 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