Commit 0614755d authored by Daniel Lezcano's avatar Daniel Lezcano Committed by Daniel Lezcano
Browse files

thermal/sysfs: Always expose hysteresis attributes



Instead of avoiding to expose the hysteresis attributes of a thermal
zone when its get_trip_hyst() operation is not defined, which is
confusing, expose them always and use the default
thermal_zone_get_trip() function returning 0 hysteresis when that
operation is not present.

The hysteresis of 0 is perfectly valid, so this change should not
introduce any backwards compatibility issues.

Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
Acked-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://lore.kernel.org/r/20221003092602.1323944-3-daniel.lezcano@linaro.org
parent 7c3d5c20
Loading
Loading
Loading
Loading
+9 −16
Original line number Diff line number Diff line
@@ -477,7 +477,6 @@ static int create_trip_attrs(struct thermal_zone_device *tz, int mask)
		return -ENOMEM;
	}

	if (tz->ops->get_trip_hyst) {
	tz->trip_hyst_attrs = kcalloc(tz->num_trips,
				      sizeof(*tz->trip_hyst_attrs),
				      GFP_KERNEL);
@@ -486,13 +485,11 @@ static int create_trip_attrs(struct thermal_zone_device *tz, int mask)
		kfree(tz->trip_temp_attrs);
		return -ENOMEM;
	}
	}

	attrs = kcalloc(tz->num_trips * 3 + 1, sizeof(*attrs), GFP_KERNEL);
	if (!attrs) {
		kfree(tz->trip_type_attrs);
		kfree(tz->trip_temp_attrs);
		if (tz->ops->get_trip_hyst)
		kfree(tz->trip_hyst_attrs);
		return -ENOMEM;
	}
@@ -526,9 +523,6 @@ static int create_trip_attrs(struct thermal_zone_device *tz, int mask)
		}
		attrs[indx + tz->num_trips] = &tz->trip_temp_attrs[indx].attr.attr;

		/* create Optional trip hyst attribute */
		if (!tz->ops->get_trip_hyst)
			continue;
		snprintf(tz->trip_hyst_attrs[indx].name, THERMAL_NAME_LENGTH,
			 "trip_point_%d_hyst", indx);

@@ -565,7 +559,6 @@ static void destroy_trip_attrs(struct thermal_zone_device *tz)

	kfree(tz->trip_type_attrs);
	kfree(tz->trip_temp_attrs);
	if (tz->ops->get_trip_hyst)
	kfree(tz->trip_hyst_attrs);
	kfree(tz->trips_attribute_group.attrs);
}