]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
thermal/core: Remove ms based delay fields
authorDaniel Lezcano <daniel.lezcano@linaro.org>
Wed, 16 Dec 2020 22:03:37 +0000 (23:03 +0100)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Tue, 19 Jan 2021 21:23:49 +0000 (22:23 +0100)
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
drivers/platform/x86/acerhdf.c
drivers/thermal/da9062-thermal.c
drivers/thermal/gov_power_allocator.c
drivers/thermal/thermal_core.c
drivers/thermal/ti-soc-thermal/ti-thermal-common.c
include/linux/thermal.h

index b6aa6e5514f4bb2fa3c2dbed25ee345bf9b7db44..6b8b3ab8db486c483ce146bfdfeb8bc5f216fc46 100644 (file)
@@ -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;
        }
index 4d74994f160aebfa6c37cbc62a06eb88576f3601..180edec34e079b5a44c6565bf65aa18540c7cfeb 100644 (file)
@@ -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;
        }
@@ -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) {
index 7a4170a0b51f6b4260ec1cf6da0dac3f0f8d86bc..f8c3d1e40b862eeed57c54b7e56e36300756079b 100644 (file)
@@ -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;
index d96c515af3cb3f69c7b0c0288dc8e7c6edafeffe..b2615449b18fed2da332b438e6131c69ec638636 100644 (file)
@@ -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);
@@ -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);
index 2ce4b19f312ac66724788dc9f1f628ffb3ea6f01..f84375865c9761870a2e4d96a799ff6c33417449 100644 (file)
@@ -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);
 
@@ -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;
 }
index d1b82c70de692be003e8549fee8fcac36eb2c1bd..1e686404951b94ea600c1c8fb1ba2f337668636b 100644 (file)
@@ -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)
@@ -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;