thermal: core: Pass trip descriptors to trip bind/unbind functions
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 4 Oct 2024 19:42:19 +0000 (21:42 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 22 Oct 2024 10:08:11 +0000 (12:08 +0200)
The code is somewhat cleaner if struct thermal_trip_desc pointers are
passed to thermal_bind_cdev_to_trip(), thermal_unbind_cdev_from_trip(),
and print_bind_err_msg() instead of struct thermal_trip pointers, so
modify it accordingly.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://patch.msgid.link/2246211.NgBsaNRSFp@rjwysocki.net
Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
drivers/thermal/thermal_core.c

index 363e01e12ec1b2887d0954db0042237f68258566..4ea304e3ceb7360c7a51783cdde7919d1f25a203 100644 (file)
@@ -759,9 +759,9 @@ struct thermal_zone_device *thermal_zone_get_by_id(int id)
 /**
  * thermal_bind_cdev_to_trip - bind a cooling device to a thermal zone
  * @tz:                pointer to struct thermal_zone_device
- * @trip:      trip point the cooling devices is associated with in this zone.
+ * @td:                descriptor of the trip point to bind @cdev to
  * @cdev:      pointer to struct thermal_cooling_device
- * @cool_spec: cooling specification for @trip and @cdev
+ * @cool_spec: cooling specification for the trip point and @cdev
  *
  * This interface function bind a thermal cooling device to the certain trip
  * point of a thermal zone device.
@@ -770,11 +770,10 @@ struct thermal_zone_device *thermal_zone_get_by_id(int id)
  * Return: 0 on success, the proper error value otherwise.
  */
 static int thermal_bind_cdev_to_trip(struct thermal_zone_device *tz,
-                                    struct thermal_trip *trip,
+                                    struct thermal_trip_desc *td,
                                     struct thermal_cooling_device *cdev,
                                     struct cooling_spec *cool_spec)
 {
-       struct thermal_trip_desc *td = trip_to_trip_desc(trip);
        struct thermal_instance *dev, *instance;
        bool upper_no_limit;
        int result;
@@ -798,7 +797,7 @@ static int thermal_bind_cdev_to_trip(struct thermal_zone_device *tz,
                return -ENOMEM;
 
        dev->cdev = cdev;
-       dev->trip = trip;
+       dev->trip = &td->trip;
        dev->upper = cool_spec->upper;
        dev->upper_no_limit = upper_no_limit;
        dev->lower = cool_spec->lower;
@@ -869,7 +868,7 @@ free_mem:
 /**
  * thermal_unbind_cdev_from_trip - unbind a cooling device from a thermal zone.
  * @tz:                pointer to a struct thermal_zone_device.
- * @trip:      trip point the cooling devices is associated with in this zone.
+ * @td:                descriptor of the trip point to unbind @cdev from
  * @cdev:      pointer to a struct thermal_cooling_device.
  *
  * This interface function unbind a thermal cooling device from the certain
@@ -877,10 +876,9 @@ free_mem:
  * This function is usually called in the thermal zone device .unbind callback.
  */
 static void thermal_unbind_cdev_from_trip(struct thermal_zone_device *tz,
-                                         struct thermal_trip *trip,
+                                         struct thermal_trip_desc *td,
                                          struct thermal_cooling_device *cdev)
 {
-       struct thermal_trip_desc *td = trip_to_trip_desc(trip);
        struct thermal_instance *pos, *next;
 
        mutex_lock(&cdev->lock);
@@ -932,11 +930,11 @@ static struct class *thermal_class;
 
 static inline
 void print_bind_err_msg(struct thermal_zone_device *tz,
-                       const struct thermal_trip *trip,
+                       const struct thermal_trip_desc *td,
                        struct thermal_cooling_device *cdev, int ret)
 {
        dev_err(&tz->device, "binding cdev %s to trip %d failed: %d\n",
-               cdev->type, thermal_zone_trip_id(tz, trip), ret);
+               cdev->type, thermal_zone_trip_id(tz, &td->trip), ret);
 }
 
 static bool __thermal_zone_cdev_bind(struct thermal_zone_device *tz,
@@ -949,7 +947,6 @@ static bool __thermal_zone_cdev_bind(struct thermal_zone_device *tz,
                return false;
 
        for_each_trip_desc(tz, td) {
-               struct thermal_trip *trip = &td->trip;
                struct cooling_spec c = {
                        .upper = THERMAL_NO_LIMIT,
                        .lower = THERMAL_NO_LIMIT,
@@ -957,12 +954,12 @@ static bool __thermal_zone_cdev_bind(struct thermal_zone_device *tz,
                };
                int ret;
 
-               if (!tz->ops.should_bind(tz, trip, cdev, &c))
+               if (!tz->ops.should_bind(tz, &td->trip, cdev, &c))
                        continue;
 
-               ret = thermal_bind_cdev_to_trip(tz, trip, cdev, &c);
+               ret = thermal_bind_cdev_to_trip(tz, td, cdev, &c);
                if (ret) {
-                       print_bind_err_msg(tz, trip, cdev, ret);
+                       print_bind_err_msg(tz, td, cdev, ret);
                        continue;
                }
 
@@ -1281,7 +1278,7 @@ static void __thermal_zone_cdev_unbind(struct thermal_zone_device *tz,
        struct thermal_trip_desc *td;
 
        for_each_trip_desc(tz, td)
-               thermal_unbind_cdev_from_trip(tz, &td->trip, cdev);
+               thermal_unbind_cdev_from_trip(tz, td, cdev);
 }
 
 static void thermal_zone_cdev_unbind(struct thermal_zone_device *tz,