Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9ec732ff authored by Zhang, Rui's avatar Zhang, Rui Committed by Len Brown
Browse files

thermal: add new get_crit_temp callback



Add a new callback so that the generic thermal can get
the critical trip point info of a thermal zone,
which is needed for building the tempX_crit hwmon sysfs attribute.

Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
Acked-by: default avatarJean Delvare <khali@linux-fr.org>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent 63c4ec90
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -1012,6 +1012,18 @@ static int thermal_get_trip_temp(struct thermal_zone_device *thermal,
	return -EINVAL;
}

static int thermal_get_crit_temp(struct thermal_zone_device *thermal,
				unsigned long *temperature) {
	struct acpi_thermal *tz = thermal->devdata;

	if (tz->trips.critical.flags.valid) {
		*temperature = KELVIN_TO_MILLICELSIUS(
				tz->trips.critical.temperature);
		return 0;
	} else
		return -EINVAL;
}

typedef int (*cb)(struct thermal_zone_device *, int,
		  struct thermal_cooling_device *);
static int acpi_thermal_cooling_device_cb(struct thermal_zone_device *thermal,
@@ -1103,6 +1115,7 @@ static struct thermal_zone_device_ops acpi_thermal_zone_ops = {
	.set_mode = thermal_set_mode,
	.get_trip_type = thermal_get_trip_type,
	.get_trip_temp = thermal_get_trip_temp,
	.get_crit_temp = thermal_get_crit_temp,
};

static int acpi_thermal_register_thermal_zone(struct acpi_thermal *tz)
+1 −0
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ struct thermal_zone_device_ops {
	int (*set_mode) (struct thermal_zone_device *, const char *);
	int (*get_trip_type) (struct thermal_zone_device *, int, char *);
	int (*get_trip_temp) (struct thermal_zone_device *, int, char *);
	int (*get_crit_temp) (struct thermal_zone_device *, unsigned long *);
};

struct thermal_cooling_device_ops {