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: Daniel Lezcano <daniel.lezcano@linaro.org> Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Link: https://lore.kernel.org/r/20201210121514.25760-3-daniel.lezcano@linaro.org
This commit is contained in:
Родитель
e71ba9452f
Коммит
a73cb2024c
|
@ -677,27 +677,24 @@ static int thermal_get_trend(struct thermal_zone_device *thermal,
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static int thermal_notify(struct thermal_zone_device *thermal, int trip,
|
||||
enum thermal_trip_type trip_type)
|
||||
static void acpi_thermal_zone_device_hot(struct thermal_zone_device *thermal)
|
||||
{
|
||||
u8 type = 0;
|
||||
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,
|
||||
dev_name(&tz->device->dev),
|
||||
ACPI_THERMAL_NOTIFY_HOT, 1);
|
||||
}
|
||||
|
||||
static void acpi_thermal_zone_device_critical(struct thermal_zone_device *thermal)
|
||||
{
|
||||
struct acpi_thermal *tz = thermal->devdata;
|
||||
|
||||
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_CRITICAL, 1);
|
||||
|
||||
if (trip_type == THERMAL_TRIP_CRITICAL && nocrt)
|
||||
return 1;
|
||||
|
||||
return 0;
|
||||
thermal_zone_device_critical(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 = {
|
|||
.get_trip_temp = thermal_get_trip_temp,
|
||||
.get_crit_temp = thermal_get_crit_temp,
|
||||
.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)
|
||||
|
|
Загрузка…
Ссылка в новой задаче