Commit a73cb202 authored by Daniel Lezcano's avatar Daniel Lezcano
Browse files

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
Loading
Loading
Loading
Loading
+14 −16
Original line number Original line Diff line number Diff line
@@ -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 = {
	.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)