drivers/thermal/qcom/qcom-spmi-temp-alarm.c | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-)
From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Modify qpnp_tm_init() to use thermal_zone_get_crit_temp() to get the
critical trip temperature instead of iterating over trip indices and
using thermal_zone_get_trip() to get a struct thermal_trip pointer
from a trip index until it finds the critical one.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
This patch does not depend on the previous patch(es) in the series.
---
drivers/thermal/qcom/qcom-spmi-temp-alarm.c | 22 +++-------------------
1 file changed, 3 insertions(+), 19 deletions(-)
Index: linux-pm/drivers/thermal/qcom/qcom-spmi-temp-alarm.c
===================================================================
--- linux-pm.orig/drivers/thermal/qcom/qcom-spmi-temp-alarm.c
+++ linux-pm/drivers/thermal/qcom/qcom-spmi-temp-alarm.c
@@ -291,24 +291,6 @@ static irqreturn_t qpnp_tm_isr(int irq,
return IRQ_HANDLED;
}
-static int qpnp_tm_get_critical_trip_temp(struct qpnp_tm_chip *chip)
-{
- struct thermal_trip trip;
- int i, ret;
-
- for (i = 0; i < thermal_zone_get_num_trips(chip->tz_dev); i++) {
-
- ret = thermal_zone_get_trip(chip->tz_dev, i, &trip);
- if (ret)
- continue;
-
- if (trip.type == THERMAL_TRIP_CRITICAL)
- return trip.temperature;
- }
-
- return THERMAL_TEMP_INVALID;
-}
-
/*
* This function initializes the internal temp value based on only the
* current thermal stage and threshold. Setup threshold control and
@@ -343,7 +325,9 @@ static int qpnp_tm_init(struct qpnp_tm_c
mutex_unlock(&chip->lock);
- crit_temp = qpnp_tm_get_critical_trip_temp(chip);
+ ret = thermal_zone_get_crit_temp(chip->tz_dev, &crit_temp);
+ if (ret)
+ crit_temp = THERMAL_TEMP_INVALID;
mutex_lock(&chip->lock);
On Mon, Jul 29, 2024 at 10:43 PM Rafael J. Wysocki <rjw@rjwysocki.net> wrote:
>
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>
> Modify qpnp_tm_init() to use thermal_zone_get_crit_temp() to get the
> critical trip temperature instead of iterating over trip indices and
> using thermal_zone_get_trip() to get a struct thermal_trip pointer
> from a trip index until it finds the critical one.
>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Makes sense.
Reviewed-by: Amit Kucheria <amitk@kernel.org>
> ---
>
> This patch does not depend on the previous patch(es) in the series.
>
> ---
> drivers/thermal/qcom/qcom-spmi-temp-alarm.c | 22 +++-------------------
> 1 file changed, 3 insertions(+), 19 deletions(-)
>
> Index: linux-pm/drivers/thermal/qcom/qcom-spmi-temp-alarm.c
> ===================================================================
> --- linux-pm.orig/drivers/thermal/qcom/qcom-spmi-temp-alarm.c
> +++ linux-pm/drivers/thermal/qcom/qcom-spmi-temp-alarm.c
> @@ -291,24 +291,6 @@ static irqreturn_t qpnp_tm_isr(int irq,
> return IRQ_HANDLED;
> }
>
> -static int qpnp_tm_get_critical_trip_temp(struct qpnp_tm_chip *chip)
> -{
> - struct thermal_trip trip;
> - int i, ret;
> -
> - for (i = 0; i < thermal_zone_get_num_trips(chip->tz_dev); i++) {
> -
> - ret = thermal_zone_get_trip(chip->tz_dev, i, &trip);
> - if (ret)
> - continue;
> -
> - if (trip.type == THERMAL_TRIP_CRITICAL)
> - return trip.temperature;
> - }
> -
> - return THERMAL_TEMP_INVALID;
> -}
> -
> /*
> * This function initializes the internal temp value based on only the
> * current thermal stage and threshold. Setup threshold control and
> @@ -343,7 +325,9 @@ static int qpnp_tm_init(struct qpnp_tm_c
>
> mutex_unlock(&chip->lock);
>
> - crit_temp = qpnp_tm_get_critical_trip_temp(chip);
> + ret = thermal_zone_get_crit_temp(chip->tz_dev, &crit_temp);
> + if (ret)
> + crit_temp = THERMAL_TEMP_INVALID;
>
> mutex_lock(&chip->lock);
>
>
>
>
On 7/29/24 16:58, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>
> Modify qpnp_tm_init() to use thermal_zone_get_crit_temp() to get the
> critical trip temperature instead of iterating over trip indices and
> using thermal_zone_get_trip() to get a struct thermal_trip pointer
> from a trip index until it finds the critical one.
>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> ---
>
> This patch does not depend on the previous patch(es) in the series.
>
> ---
> drivers/thermal/qcom/qcom-spmi-temp-alarm.c | 22 +++-------------------
> 1 file changed, 3 insertions(+), 19 deletions(-)
>
> Index: linux-pm/drivers/thermal/qcom/qcom-spmi-temp-alarm.c
> ===================================================================
> --- linux-pm.orig/drivers/thermal/qcom/qcom-spmi-temp-alarm.c
> +++ linux-pm/drivers/thermal/qcom/qcom-spmi-temp-alarm.c
> @@ -291,24 +291,6 @@ static irqreturn_t qpnp_tm_isr(int irq,
> return IRQ_HANDLED;
> }
>
> -static int qpnp_tm_get_critical_trip_temp(struct qpnp_tm_chip *chip)
> -{
> - struct thermal_trip trip;
> - int i, ret;
> -
> - for (i = 0; i < thermal_zone_get_num_trips(chip->tz_dev); i++) {
> -
> - ret = thermal_zone_get_trip(chip->tz_dev, i, &trip);
> - if (ret)
> - continue;
> -
> - if (trip.type == THERMAL_TRIP_CRITICAL)
> - return trip.temperature;
> - }
> -
> - return THERMAL_TEMP_INVALID;
> -}
> -
> /*
> * This function initializes the internal temp value based on only the
> * current thermal stage and threshold. Setup threshold control and
> @@ -343,7 +325,9 @@ static int qpnp_tm_init(struct qpnp_tm_c
>
> mutex_unlock(&chip->lock);
>
> - crit_temp = qpnp_tm_get_critical_trip_temp(chip);
> + ret = thermal_zone_get_crit_temp(chip->tz_dev, &crit_temp);
> + if (ret)
> + crit_temp = THERMAL_TEMP_INVALID;
>
> mutex_lock(&chip->lock);
>
>
>
>
Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
© 2016 - 2026 Red Hat, Inc.