summaryrefslogtreecommitdiffstats
path: root/drivers/thermal
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2024-10-16 13:36:03 +0200
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2024-10-24 17:15:07 +0200
commit43bac1026fdc0251e03e387fc347f84363e3780f (patch)
treea98bc121399b4661ababc85974b9dc0f55d2a267 /drivers/thermal
parent6d5537d40ce4b95c0de5d957fc0eb51fd9b6c06f (diff)
downloadlinux-43bac1026fdc0251e03e387fc347f84363e3780f.tar.gz
linux-43bac1026fdc0251e03e387fc347f84363e3780f.tar.bz2
linux-43bac1026fdc0251e03e387fc347f84363e3780f.zip
thermal: core: Relocate thermal zone initialization routine
Move thermal_zone_device_init() along with thermal_zone_device_check() closer to the callers of the former, where they fit better together. No functional impact. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Reviewed-by: Lukasz Luba <lukasz.luba@arm.com> Link: https://patch.msgid.link/1906685.CQOukoFCf9@rjwysocki.net
Diffstat (limited to 'drivers/thermal')
-rw-r--r--drivers/thermal/thermal_core.c82
1 files changed, 41 insertions, 41 deletions
diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
index 7ce4140dc2d3..19a3894ad752 100644
--- a/drivers/thermal/thermal_core.c
+++ b/drivers/thermal/thermal_core.c
@@ -429,14 +429,6 @@ static void move_trip_to_sorted_list(struct thermal_trip_desc *td,
list_add(&td->list_node, list);
}
-static void thermal_zone_device_check(struct work_struct *work)
-{
- struct thermal_zone_device *tz = container_of(work, struct
- thermal_zone_device,
- poll_queue.work);
- thermal_zone_device_update(tz, THERMAL_EVENT_UNSPECIFIED);
-}
-
static void move_to_trips_high(struct thermal_zone_device *tz,
struct thermal_trip_desc *td)
{
@@ -458,39 +450,6 @@ static void move_to_trips_invalid(struct thermal_zone_device *tz,
list_move(&td->list_node, &tz->trips_invalid);
}
-static void thermal_zone_device_init(struct thermal_zone_device *tz)
-{
- struct thermal_trip_desc *td, *next;
-
- INIT_DELAYED_WORK(&tz->poll_queue, thermal_zone_device_check);
-
- tz->temperature = THERMAL_TEMP_INIT;
- tz->passive = 0;
- tz->prev_low_trip = -INT_MAX;
- tz->prev_high_trip = INT_MAX;
- for_each_trip_desc(tz, td) {
- struct thermal_instance *instance;
-
- list_for_each_entry(instance, &td->thermal_instances, trip_node)
- instance->initialized = false;
- }
- /*
- * At this point, all valid trips need to be moved to trips_high so that
- * mitigation can be started if the zone temperature is above them.
- */
- list_for_each_entry_safe(td, next, &tz->trips_invalid, list_node) {
- if (td->trip.temperature != THERMAL_TEMP_INVALID)
- move_to_trips_high(tz, td);
- }
- /* The trips_reached list may not be empty during system resume. */
- list_for_each_entry_safe(td, next, &tz->trips_reached, list_node) {
- if (td->trip.temperature == THERMAL_TEMP_INVALID)
- move_to_trips_invalid(tz, td);
- else
- move_to_trips_high(tz, td);
- }
-}
-
static void thermal_governor_trip_crossed(struct thermal_governor *governor,
struct thermal_zone_device *tz,
const struct thermal_trip *trip,
@@ -1426,6 +1385,47 @@ int thermal_zone_get_crit_temp(struct thermal_zone_device *tz, int *temp)
}
EXPORT_SYMBOL_GPL(thermal_zone_get_crit_temp);
+static void thermal_zone_device_check(struct work_struct *work)
+{
+ struct thermal_zone_device *tz = container_of(work, struct
+ thermal_zone_device,
+ poll_queue.work);
+ thermal_zone_device_update(tz, THERMAL_EVENT_UNSPECIFIED);
+}
+
+static void thermal_zone_device_init(struct thermal_zone_device *tz)
+{
+ struct thermal_trip_desc *td, *next;
+
+ INIT_DELAYED_WORK(&tz->poll_queue, thermal_zone_device_check);
+
+ tz->temperature = THERMAL_TEMP_INIT;
+ tz->passive = 0;
+ tz->prev_low_trip = -INT_MAX;
+ tz->prev_high_trip = INT_MAX;
+ for_each_trip_desc(tz, td) {
+ struct thermal_instance *instance;
+
+ list_for_each_entry(instance, &td->thermal_instances, trip_node)
+ instance->initialized = false;
+ }
+ /*
+ * At this point, all valid trips need to be moved to trips_high so that
+ * mitigation can be started if the zone temperature is above them.
+ */
+ list_for_each_entry_safe(td, next, &tz->trips_invalid, list_node) {
+ if (td->trip.temperature != THERMAL_TEMP_INVALID)
+ move_to_trips_high(tz, td);
+ }
+ /* The trips_reached list may not be empty during system resume. */
+ list_for_each_entry_safe(td, next, &tz->trips_reached, list_node) {
+ if (td->trip.temperature == THERMAL_TEMP_INVALID)
+ move_to_trips_invalid(tz, td);
+ else
+ move_to_trips_high(tz, td);
+ }
+}
+
static int thermal_zone_init_governor(struct thermal_zone_device *tz)
{
struct thermal_governor *governor;