Skip to content

Commit

Permalink
thermal/drivers/acpi: Use hot and critical ops
Browse files Browse the repository at this point in the history
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 <[email protected]>
Acked-by: Srinivas Pandruvada <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
  • Loading branch information
dlezcano committed Jan 7, 2021
1 parent e71ba94 commit a73cb20
Showing 1 changed file with 14 additions and 16 deletions.
30 changes: 14 additions & 16 deletions drivers/acpi/thermal.c
Original file line number Diff line number Diff line change
Expand Up @@ -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), type, 1);
dev_name(&tz->device->dev),
ACPI_THERMAL_NOTIFY_HOT, 1);
}

if (trip_type == THERMAL_TRIP_CRITICAL && nocrt)
return 1;
static void acpi_thermal_zone_device_critical(struct thermal_zone_device *thermal)
{
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,
Expand Down Expand Up @@ -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)
Expand Down

0 comments on commit a73cb20

Please sign in to comment.