thermal: of: Set THERMAL_TRIP_FLAG_RW_TEMP directly
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 22 Feb 2024 17:38:21 +0000 (18:38 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 27 Feb 2024 11:04:01 +0000 (12:04 +0100)
It is now possible to flag trip points with THERMAL_TRIP_FLAG_RW_TEMP
to allow their temperature to be set from user space via sysfs instead
of using a nonzero writable trips mask during thermal zone registration,
so make the OF thermal code do that.

No intentional functional impact.

Note that this change is requisite for dropping the mask argument from
thermal_zone_device_register_with_trips() going forward.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Daniel Lezcano <daniel.lezcano@linaro.org>
drivers/thermal/thermal_of.c

index 405743e90531844885684dbcb9432edae9619e9e..c3bd5fb15c7e2952ff79e1030068304f29328b6c 100644 (file)
@@ -117,6 +117,8 @@ static int thermal_of_populate_trip(struct device_node *np,
                return ret;
        }
 
+       trip->flags = THERMAL_TRIP_FLAG_RW_TEMP;
+
        return 0;
 }
 
@@ -472,7 +474,7 @@ static struct thermal_zone_device *thermal_of_zone_register(struct device_node *
        struct device_node *np;
        const char *action;
        int delay, pdelay;
-       int ntrips, mask;
+       int ntrips;
        int ret;
 
        np = of_thermal_zone_find(sensor, id);
@@ -499,15 +501,13 @@ static struct thermal_zone_device *thermal_of_zone_register(struct device_node *
        of_ops.bind = thermal_of_bind;
        of_ops.unbind = thermal_of_unbind;
 
-       mask = GENMASK_ULL((ntrips) - 1, 0);
-
        ret = of_property_read_string(np, "critical-action", &action);
        if (!ret)
                if (!of_ops.critical && !strcasecmp(action, "reboot"))
                        of_ops.critical = thermal_zone_device_critical_reboot;
 
        tz = thermal_zone_device_register_with_trips(np->name, trips, ntrips,
-                                                    mask, data, &of_ops, &tzp,
+                                                    0, data, &of_ops, &tzp,
                                                     pdelay, delay);
        if (IS_ERR(tz)) {
                ret = PTR_ERR(tz);