summaryrefslogtreecommitdiff
path: root/drivers/thermal/gov_step_wise.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2024-06-23 13:14:18 +0100
committerMark Brown <broonie@kernel.org>2024-06-23 13:14:18 +0100
commit17436001a6bc42c7f55dc547ca5b1a873208d91d (patch)
tree186b872edc5080b90ef1f8fb88f774d4f242775f /drivers/thermal/gov_step_wise.c
parent5d0c35feea339e4a3a9c9e99731e4d49ad5ee329 (diff)
parentd4a0055fdc22381fa256e345095e88d134e354c5 (diff)
spi: add devm_spi_optimize_message() helper
Merge series from David Lechner <dlechner@baylibre.com>: In the IIO subsystem, we are finding that it is common to call spi_optimize_message() during driver probe since the SPI message doesn't change for the lifetime of the driver. This patch adds a devm_spi_optimize_message() helper to simplify this common pattern.
Diffstat (limited to 'drivers/thermal/gov_step_wise.c')
-rw-r--r--drivers/thermal/gov_step_wise.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/thermal/gov_step_wise.c b/drivers/thermal/gov_step_wise.c
index e0fdc497bfcc..65974fe8be0d 100644
--- a/drivers/thermal/gov_step_wise.c
+++ b/drivers/thermal/gov_step_wise.c
@@ -93,6 +93,23 @@ static void thermal_zone_trip_update(struct thermal_zone_device *tz,
if (instance->initialized && old_target == instance->target)
continue;
+ if (trip->type == THERMAL_TRIP_PASSIVE) {
+ /*
+ * If the target state for this thermal instance
+ * changes from THERMAL_NO_TARGET to something else,
+ * ensure that the zone temperature will be updated
+ * (assuming enabled passive cooling) until it becomes
+ * THERMAL_NO_TARGET again, or the cooling device may
+ * not be reset to its initial state.
+ */
+ if (old_target == THERMAL_NO_TARGET &&
+ instance->target != THERMAL_NO_TARGET)
+ tz->passive++;
+ else if (old_target != THERMAL_NO_TARGET &&
+ instance->target == THERMAL_NO_TARGET)
+ tz->passive--;
+ }
+
instance->initialized = true;
mutex_lock(&instance->cdev->lock);