thermal/of: Use thermal trips stored in the thermal zone
authorDaniel Lezcano <daniel.lezcano@linexp.org>
Fri, 22 Jul 2022 20:00:06 +0000 (22:00 +0200)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Thu, 28 Jul 2022 15:29:56 +0000 (17:29 +0200)
Now that we have the thermal trip stored in the thermal zone in a
generic way, we can rely on them and remove one indirection we found
in the thermal_of code and do one more step forward the removal of the
duplicated structures.

Cc: Alexandre Bailon <abailon@baylibre.com>
Cc: Kevin Hilman <khilman@baylibre.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linexp.org>
Link: https://lore.kernel.org/r/20220722200007.1839356-10-daniel.lezcano@linexp.org
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
drivers/thermal/thermal_of.c

index d7ff6d558a82ae679c0cc9c1d12114e2d0510373..1d0b657cfa45bd63da03f66bc78400efbe216dc0 100644 (file)
@@ -118,12 +118,7 @@ static int of_thermal_set_trips(struct thermal_zone_device *tz,
  */
 int of_thermal_get_ntrips(struct thermal_zone_device *tz)
 {
-       struct __thermal_zone *data = tz->devdata;
-
-       if (!data || IS_ERR(data))
-               return -ENODEV;
-
-       return data->ntrips;
+       return tz->num_trips;
 }
 EXPORT_SYMBOL_GPL(of_thermal_get_ntrips);
 
@@ -139,9 +134,7 @@ EXPORT_SYMBOL_GPL(of_thermal_get_ntrips);
  */
 bool of_thermal_is_trip_valid(struct thermal_zone_device *tz, int trip)
 {
-       struct __thermal_zone *data = tz->devdata;
-
-       if (!data || trip >= data->ntrips || trip < 0)
+       if (trip >= tz->num_trips || trip < 0)
                return false;
 
        return true;
@@ -161,12 +154,7 @@ EXPORT_SYMBOL_GPL(of_thermal_is_trip_valid);
 const struct thermal_trip *
 of_thermal_get_trip_points(struct thermal_zone_device *tz)
 {
-       struct __thermal_zone *data = tz->devdata;
-
-       if (!data)
-               return NULL;
-
-       return data->trips;
+       return tz->trips;
 }
 EXPORT_SYMBOL_GPL(of_thermal_get_trip_points);
 
@@ -281,12 +269,10 @@ static int of_thermal_unbind(struct thermal_zone_device *thermal,
 static int of_thermal_get_trip_type(struct thermal_zone_device *tz, int trip,
                                    enum thermal_trip_type *type)
 {
-       struct __thermal_zone *data = tz->devdata;
-
-       if (trip >= data->ntrips || trip < 0)
+       if (trip >= tz->num_trips || trip < 0)
                return -EDOM;
 
-       *type = data->trips[trip].type;
+       *type = tz->trips[trip].type;
 
        return 0;
 }
@@ -294,12 +280,10 @@ static int of_thermal_get_trip_type(struct thermal_zone_device *tz, int trip,
 static int of_thermal_get_trip_temp(struct thermal_zone_device *tz, int trip,
                                    int *temp)
 {
-       struct __thermal_zone *data = tz->devdata;
-
-       if (trip >= data->ntrips || trip < 0)
+       if (trip >= tz->num_trips || trip < 0)
                return -EDOM;
 
-       *temp = data->trips[trip].temperature;
+       *temp = tz->trips[trip].temperature;
 
        return 0;
 }
@@ -309,7 +293,7 @@ static int of_thermal_set_trip_temp(struct thermal_zone_device *tz, int trip,
 {
        struct __thermal_zone *data = tz->devdata;
 
-       if (trip >= data->ntrips || trip < 0)
+       if (trip >= tz->num_trips || trip < 0)
                return -EDOM;
 
        if (data->ops && data->ops->set_trip_temp) {
@@ -321,7 +305,7 @@ static int of_thermal_set_trip_temp(struct thermal_zone_device *tz, int trip,
        }
 
        /* thermal framework should take care of data->mask & (1 << trip) */
-       data->trips[trip].temperature = temp;
+       tz->trips[trip].temperature = temp;
 
        return 0;
 }
@@ -329,12 +313,10 @@ static int of_thermal_set_trip_temp(struct thermal_zone_device *tz, int trip,
 static int of_thermal_get_trip_hyst(struct thermal_zone_device *tz, int trip,
                                    int *hyst)
 {
-       struct __thermal_zone *data = tz->devdata;
-
-       if (trip >= data->ntrips || trip < 0)
+       if (trip >= tz->num_trips || trip < 0)
                return -EDOM;
 
-       *hyst = data->trips[trip].hysteresis;
+       *hyst = tz->trips[trip].hysteresis;
 
        return 0;
 }
@@ -342,13 +324,11 @@ static int of_thermal_get_trip_hyst(struct thermal_zone_device *tz, int trip,
 static int of_thermal_set_trip_hyst(struct thermal_zone_device *tz, int trip,
                                    int hyst)
 {
-       struct __thermal_zone *data = tz->devdata;
-
-       if (trip >= data->ntrips || trip < 0)
+       if (trip >= tz->num_trips || trip < 0)
                return -EDOM;
 
        /* thermal framework should take care of data->mask & (1 << trip) */
-       data->trips[trip].hysteresis = hyst;
+       tz->trips[trip].hysteresis = hyst;
 
        return 0;
 }
@@ -356,12 +336,11 @@ static int of_thermal_set_trip_hyst(struct thermal_zone_device *tz, int trip,
 static int of_thermal_get_crit_temp(struct thermal_zone_device *tz,
                                    int *temp)
 {
-       struct __thermal_zone *data = tz->devdata;
        int i;
 
-       for (i = 0; i < data->ntrips; i++)
-               if (data->trips[i].type == THERMAL_TRIP_CRITICAL) {
-                       *temp = data->trips[i].temperature;
+       for (i = 0; i < tz->num_trips; i++)
+               if (tz->trips[i].type == THERMAL_TRIP_CRITICAL) {
+                       *temp = tz->trips[i].temperature;
                        return 0;
                }