diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2023-10-12 20:26:46 +0200 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2023-10-20 19:26:01 +0200 |
commit | 234ed6f5fbedf7bc84f9adc08c3e11ca8588ffd8 (patch) | |
tree | 3f9f0553ca9580c01d07b8b216e51f65f7cae7f1 /drivers/thermal | |
parent | thermal: trip: Simplify computing trip indices (diff) | |
download | linux-234ed6f5fbedf7bc84f9adc08c3e11ca8588ffd8.tar.xz linux-234ed6f5fbedf7bc84f9adc08c3e11ca8588ffd8.zip |
thermal: trip: Define for_each_trip() macro
Define a new macro for_each_trip() to be used by the thermal core code
and thermal governors for walking trips in a given thermal zone.
Modify for_each_thermal_trip() to use this macro instead of an open-
coded loop over trips.
No intentional functional impact.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
Diffstat (limited to 'drivers/thermal')
-rw-r--r-- | drivers/thermal/thermal_core.h | 3 | ||||
-rw-r--r-- | drivers/thermal/thermal_trip.c | 7 |
2 files changed, 7 insertions, 3 deletions
diff --git a/drivers/thermal/thermal_core.h b/drivers/thermal/thermal_core.h index 024e82ebf592..4702d3a152f9 100644 --- a/drivers/thermal/thermal_core.h +++ b/drivers/thermal/thermal_core.h @@ -116,6 +116,9 @@ void __thermal_zone_device_update(struct thermal_zone_device *tz, enum thermal_notify_event event); /* Helpers */ +#define for_each_trip(__tz, __trip) \ + for (__trip = __tz->trips; __trip - __tz->trips < __tz->num_trips; __trip++) + void __thermal_zone_set_trips(struct thermal_zone_device *tz); int __thermal_zone_get_trip(struct thermal_zone_device *tz, int trip_id, struct thermal_trip *trip); diff --git a/drivers/thermal/thermal_trip.c b/drivers/thermal/thermal_trip.c index 6dff0dae6ef6..9e07535d99bb 100644 --- a/drivers/thermal/thermal_trip.c +++ b/drivers/thermal/thermal_trip.c @@ -13,10 +13,11 @@ int for_each_thermal_trip(struct thermal_zone_device *tz, int (*cb)(struct thermal_trip *, void *), void *data) { - int i, ret; + struct thermal_trip *trip; + int ret; - for (i = 0; i < tz->num_trips; i++) { - ret = cb(&tz->trips[i], data); + for_each_trip(tz, trip) { + ret = cb(trip, data); if (ret) return ret; } |