summaryrefslogtreecommitdiff
path: root/drivers/acpi/thermal.c
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2023-10-03 15:21:30 +0200
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2023-10-05 13:20:57 +0200
commit4f9cf91e4102fe77ef3393febab72612b594172f (patch)
treebc97b92222aad84d286d359f800febbf6b8cd942 /drivers/acpi/thermal.c
parent44babd829a7e0c13b57040fc8234f64fabab1efd (diff)
ACPI: thermal: Combine passive and active trip update functions
Combine acpi_thermal_update_passive_trip() and acpi_thermal_update_active_trip() into one common function called acpi_thermal_update_trip(), so as to reduce code duplication and prepare the code in question for subsequent changes. No intentional functional impact. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Reviewed-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Diffstat (limited to 'drivers/acpi/thermal.c')
-rw-r--r--drivers/acpi/thermal.c35
1 files changed, 17 insertions, 18 deletions
diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c
index 71a1ca18c97c..d527db0f1144 100644
--- a/drivers/acpi/thermal.c
+++ b/drivers/acpi/thermal.c
@@ -212,14 +212,25 @@ static long get_active_temp(struct acpi_thermal *tz, int index)
return tmp;
}
-static void acpi_thermal_update_passive_trip(struct acpi_thermal *tz)
+static void acpi_thermal_update_trip(struct acpi_thermal *tz,
+ int index)
{
- struct acpi_thermal_trip *acpi_trip = &tz->trips.passive.trip;
+ struct acpi_thermal_trip *acpi_trip;
- if (!acpi_thermal_trip_valid(acpi_trip) || psv > 0)
+ acpi_trip = index == ACPI_THERMAL_TRIP_PASSIVE ?
+ &tz->trips.passive.trip : &tz->trips.active[index].trip;
+ if (!acpi_thermal_trip_valid(acpi_trip))
return;
- acpi_trip->temp_dk = get_passive_temp(tz);
+ if (index == ACPI_THERMAL_TRIP_PASSIVE) {
+ if (psv > 0)
+ return;
+
+ acpi_trip->temp_dk = get_passive_temp(tz);
+ } else {
+ acpi_trip->temp_dk = get_active_temp(tz, index);
+ }
+
if (!acpi_thermal_trip_valid(acpi_trip))
ACPI_THERMAL_TRIPS_EXCEPTION(tz, "state");
}
@@ -270,18 +281,6 @@ static void acpi_thermal_update_trip_devices(struct acpi_thermal *tz, int index)
ACPI_THERMAL_TRIPS_EXCEPTION(tz, "state");
}
-static void acpi_thermal_update_active_trip(struct acpi_thermal *tz, int index)
-{
- struct acpi_thermal_trip *acpi_trip = &tz->trips.active[index].trip;
-
- if (!acpi_thermal_trip_valid(acpi_trip))
- return;
-
- acpi_trip->temp_dk = get_active_temp(tz, index);
- if (!acpi_thermal_trip_valid(acpi_trip))
- ACPI_THERMAL_TRIPS_EXCEPTION(tz, "state");
-}
-
static int acpi_thermal_adjust_trip(struct thermal_trip *trip, void *data)
{
struct acpi_thermal_trip *acpi_trip = trip->priv;
@@ -305,9 +304,9 @@ static void acpi_thermal_adjust_thermal_zone(struct thermal_zone_device *thermal
int i;
if (data == ACPI_THERMAL_NOTIFY_THRESHOLDS) {
- acpi_thermal_update_passive_trip(tz);
+ acpi_thermal_update_trip(tz, ACPI_THERMAL_TRIP_PASSIVE);
for (i = 0; i < ACPI_THERMAL_MAX_ACTIVE; i++)
- acpi_thermal_update_active_trip(tz, i);
+ acpi_thermal_update_trip(tz, i);
} else {
acpi_thermal_update_trip_devices(tz, ACPI_THERMAL_TRIP_PASSIVE);
for (i = 0; i < ACPI_THERMAL_MAX_ACTIVE; i++)