Commit a73cb202 authored by Daniel Lezcano's avatar Daniel Lezcano

thermal/drivers/acpi: Use hot and critical ops

The acpi driver wants to do a netlink notification in case of a hot or
critical trip point. Implement the corresponding ops to be used for
the thermal zone and use them instead of the notify ops.
Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
Acked-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Link: https://lore.kernel.org/r/20201210121514.25760-3-daniel.lezcano@linaro.org
parent e71ba945
...@@ -677,27 +677,24 @@ static int thermal_get_trend(struct thermal_zone_device *thermal, ...@@ -677,27 +677,24 @@ static int thermal_get_trend(struct thermal_zone_device *thermal,
return 0; return 0;
} }
static void acpi_thermal_zone_device_hot(struct thermal_zone_device *thermal)
static int thermal_notify(struct thermal_zone_device *thermal, int trip,
enum thermal_trip_type trip_type)
{ {
u8 type = 0;
struct acpi_thermal *tz = thermal->devdata; struct acpi_thermal *tz = thermal->devdata;
if (trip_type == THERMAL_TRIP_CRITICAL)
type = ACPI_THERMAL_NOTIFY_CRITICAL;
else if (trip_type == THERMAL_TRIP_HOT)
type = ACPI_THERMAL_NOTIFY_HOT;
else
return 0;
acpi_bus_generate_netlink_event(tz->device->pnp.device_class, acpi_bus_generate_netlink_event(tz->device->pnp.device_class,
dev_name(&tz->device->dev), type, 1); dev_name(&tz->device->dev),
ACPI_THERMAL_NOTIFY_HOT, 1);
}
if (trip_type == THERMAL_TRIP_CRITICAL && nocrt) static void acpi_thermal_zone_device_critical(struct thermal_zone_device *thermal)
return 1; {
struct acpi_thermal *tz = thermal->devdata;
return 0; acpi_bus_generate_netlink_event(tz->device->pnp.device_class,
dev_name(&tz->device->dev),
ACPI_THERMAL_NOTIFY_CRITICAL, 1);
thermal_zone_device_critical(thermal);
} }
static int acpi_thermal_cooling_device_cb(struct thermal_zone_device *thermal, static int acpi_thermal_cooling_device_cb(struct thermal_zone_device *thermal,
...@@ -812,7 +809,8 @@ static struct thermal_zone_device_ops acpi_thermal_zone_ops = { ...@@ -812,7 +809,8 @@ static struct thermal_zone_device_ops acpi_thermal_zone_ops = {
.get_trip_temp = thermal_get_trip_temp, .get_trip_temp = thermal_get_trip_temp,
.get_crit_temp = thermal_get_crit_temp, .get_crit_temp = thermal_get_crit_temp,
.get_trend = thermal_get_trend, .get_trend = thermal_get_trend,
.notify = thermal_notify, .hot = acpi_thermal_zone_device_hot,
.critical = acpi_thermal_zone_device_critical,
}; };
static int acpi_thermal_register_thermal_zone(struct acpi_thermal *tz) static int acpi_thermal_register_thermal_zone(struct acpi_thermal *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