thermal: ACPI: Initialize trips if temperature is out of range
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 26 Jan 2023 12:53:49 +0000 (13:53 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 27 Jan 2023 14:09:47 +0000 (15:09 +0100)
commit97efecfdbf6fe4915e7f71603b634d5ad3f210b1
tree96bc82bc5fedfd3ad9f46d7dd1ab140994facc2e
parenta5c926acd03aacbf558605f3352939dda86c8808
thermal: ACPI: Initialize trips if temperature is out of range

In some cases it is still useful to register a trip point if the
temperature returned by the corresponding ACPI thermal object (for
example, _HOT) is invalid to start with, because the same ACPI
thermal object may start to return a valid temperature after a
system configuration change (for example, from an AC power source
to battery an vice versa).

For this reason, if the ACPI thermal object evaluated by
thermal_acpi_trip_init() successfully returns a temperature value that
is out of the range of values taken into account, initialize the trip
point using THERMAL_TEMP_INVALID as the temperature value instead of
returning an error to allow the user of the trip point to decide what
to do with it.

Also update pch_wpt_add_acpi_psv_trip() to reject trip points with
invalid temperature values.

Fixes: 7a0e39748861 ("thermal: ACPI: Add ACPI trip point routines")
Reported-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/thermal/intel/intel_pch_thermal.c
drivers/thermal/thermal_acpi.c