Skip to content

Commit

Permalink
thermal/core: Remove ms based delay fields
Browse files Browse the repository at this point in the history
The code does no longer use the ms unit based fields to set the
delays as they are replaced by the jiffies.

Remove them and replace their user to use the jiffies version instead.

Cc: Thara Gopinath <thara.gopinath@linaro.org>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
Reviewed-by: Peter Kästle <peter@piie.net>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20201216220337.839878-3-daniel.lezcano@linaro.org
  • Loading branch information
Daniel Lezcano committed Jan 19, 2021
1 parent 39a3880 commit b39d2dd
Show file tree
Hide file tree
Showing 6 changed files with 10 additions and 16 deletions.
3 changes: 2 additions & 1 deletion drivers/platform/x86/acerhdf.c
Original file line number Diff line number Diff line change
Expand Up @@ -336,7 +336,8 @@ static void acerhdf_check_param(struct thermal_zone_device *thermal)
pr_notice("interval changed to: %d\n", interval);

if (thermal)
thermal->polling_delay = interval*1000;
thermal->polling_delay_jiffies =
round_jiffies(msecs_to_jiffies(interval * 1000));

prev_interval = interval;
}
Expand Down
4 changes: 2 additions & 2 deletions drivers/thermal/da9062-thermal.c
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ static void da9062_thermal_poll_on(struct work_struct *work)
thermal_zone_device_update(thermal->zone,
THERMAL_EVENT_UNSPECIFIED);

delay = msecs_to_jiffies(thermal->zone->passive_delay);
delay = thermal->zone->passive_delay_jiffies;
queue_delayed_work(system_freezable_wq, &thermal->work, delay);
return;
}
Expand Down Expand Up @@ -245,7 +245,7 @@ static int da9062_thermal_probe(struct platform_device *pdev)

dev_dbg(&pdev->dev,
"TJUNC temperature polling period set at %d ms\n",
thermal->zone->passive_delay);
jiffies_to_msecs(thermal->zone->passive_delay_jiffies));

ret = platform_get_irq_byname(pdev, "THERMAL");
if (ret < 0) {
Expand Down
2 changes: 1 addition & 1 deletion drivers/thermal/gov_power_allocator.c
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@ static u32 pid_controller(struct thermal_zone_device *tz,
* power being applied, slowing down the controller)
*/
d = mul_frac(tz->tzp->k_d, err - params->prev_err);
d = div_frac(d, tz->passive_delay);
d = div_frac(d, jiffies_to_msecs(tz->passive_delay_jiffies));
params->prev_err = err;

power_range = p + i + d;
Expand Down
4 changes: 1 addition & 3 deletions drivers/thermal/thermal_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,7 @@ static void monitor_thermal_zone(struct thermal_zone_device *tz)

if (!stop && tz->passive)
thermal_zone_device_set_polling(tz, tz->passive_delay_jiffies);
else if (!stop && tz->polling_delay)
else if (!stop && tz->polling_delay_jiffies)
thermal_zone_device_set_polling(tz, tz->polling_delay_jiffies);
else
thermal_zone_device_set_polling(tz, 0);
Expand Down Expand Up @@ -1307,8 +1307,6 @@ thermal_zone_device_register(const char *type, int trips, int mask,
tz->device.class = &thermal_class;
tz->devdata = devdata;
tz->trips = trips;
tz->passive_delay = passive_delay;
tz->polling_delay = polling_delay;

thermal_set_delay_jiffies(&tz->passive_delay_jiffies, passive_delay);
thermal_set_delay_jiffies(&tz->polling_delay_jiffies, polling_delay);
Expand Down
6 changes: 4 additions & 2 deletions drivers/thermal/ti-soc-thermal/ti-thermal-common.c
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,7 @@ int ti_thermal_expose_sensor(struct ti_bandgap *bgp, int id,
char *domain)
{
struct ti_thermal_data *data;
int interval;

data = ti_bandgap_get_sensor_data(bgp, id);

Expand All @@ -183,9 +184,10 @@ int ti_thermal_expose_sensor(struct ti_bandgap *bgp, int id,
return PTR_ERR(data->ti_thermal);
}

interval = jiffies_to_msecs(data->ti_thermal->polling_delay_jiffies);

ti_bandgap_set_sensor_data(bgp, id, data);
ti_bandgap_write_update_interval(bgp, data->sensor_id,
data->ti_thermal->polling_delay);
ti_bandgap_write_update_interval(bgp, data->sensor_id, interval);

return 0;
}
Expand Down
7 changes: 0 additions & 7 deletions include/linux/thermal.h
Original file line number Diff line number Diff line change
Expand Up @@ -115,13 +115,8 @@ struct thermal_cooling_device {
* @devdata: private pointer for device private data
* @trips: number of trip points the thermal zone supports
* @trips_disabled; bitmap for disabled trips
* @passive_delay: number of milliseconds to wait between polls when
* performing passive cooling.
* @passive_delay_jiffies: number of jiffies to wait between polls when
* performing passive cooling.
* @polling_delay: number of milliseconds to wait between polls when
* checking whether trip points have been crossed (0 for
* interrupt driven systems)
* @polling_delay_jiffies: number of jiffies to wait between polls when
* checking whether trip points have been crossed (0 for
* interrupt driven systems)
Expand Down Expand Up @@ -162,8 +157,6 @@ struct thermal_zone_device {
unsigned long trips_disabled; /* bitmap for disabled trips */
unsigned long passive_delay_jiffies;
unsigned long polling_delay_jiffies;
int passive_delay;
int polling_delay;
int temperature;
int last_temperature;
int emul_temperature;
Expand Down

0 comments on commit b39d2dd

Please sign in to comment.