Commit 83c2d444 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki

thermal: of: Set THERMAL_TRIP_FLAG_RW_TEMP directly

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: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
parent 68e9c603
...@@ -117,6 +117,8 @@ static int thermal_of_populate_trip(struct device_node *np, ...@@ -117,6 +117,8 @@ static int thermal_of_populate_trip(struct device_node *np,
return ret; return ret;
} }
trip->flags = THERMAL_TRIP_FLAG_RW_TEMP;
return 0; return 0;
} }
...@@ -472,7 +474,7 @@ static struct thermal_zone_device *thermal_of_zone_register(struct device_node * ...@@ -472,7 +474,7 @@ static struct thermal_zone_device *thermal_of_zone_register(struct device_node *
struct device_node *np; struct device_node *np;
const char *action; const char *action;
int delay, pdelay; int delay, pdelay;
int ntrips, mask; int ntrips;
int ret; int ret;
np = of_thermal_zone_find(sensor, id); np = of_thermal_zone_find(sensor, id);
...@@ -499,15 +501,13 @@ static struct thermal_zone_device *thermal_of_zone_register(struct device_node * ...@@ -499,15 +501,13 @@ static struct thermal_zone_device *thermal_of_zone_register(struct device_node *
of_ops.bind = thermal_of_bind; of_ops.bind = thermal_of_bind;
of_ops.unbind = thermal_of_unbind; of_ops.unbind = thermal_of_unbind;
mask = GENMASK_ULL((ntrips) - 1, 0);
ret = of_property_read_string(np, "critical-action", &action); ret = of_property_read_string(np, "critical-action", &action);
if (!ret) if (!ret)
if (!of_ops.critical && !strcasecmp(action, "reboot")) if (!of_ops.critical && !strcasecmp(action, "reboot"))
of_ops.critical = thermal_zone_device_critical_reboot; of_ops.critical = thermal_zone_device_critical_reboot;
tz = thermal_zone_device_register_with_trips(np->name, trips, ntrips, tz = thermal_zone_device_register_with_trips(np->name, trips, ntrips,
mask, data, &of_ops, &tzp, 0, data, &of_ops, &tzp,
pdelay, delay); pdelay, delay);
if (IS_ERR(tz)) { if (IS_ERR(tz)) {
ret = PTR_ERR(tz); ret = PTR_ERR(tz);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment