* [RESEND][PATCH v1 1/8] thermal: broadcom: Use thermal_zone_get_crit_temp() in bcm2835_thermal_probe()
2024-07-29 15:50 [RESEND][PATCH v1 0/8] thermal: Use trip pointers in thermal driver interface Rafael J. Wysocki
@ 2024-07-29 15:53 ` Rafael J. Wysocki
2024-07-29 21:54 ` Florian Fainelli
2024-08-02 9:36 ` Lukasz Luba
2024-07-29 15:56 ` [RESEND][PATCH v1 2/8] thermal: hisi: Use thermal_zone_for_each_trip() in hisi_thermal_register_sensor() Rafael J. Wysocki
` (6 subsequent siblings)
7 siblings, 2 replies; 20+ messages in thread
From: Rafael J. Wysocki @ 2024-07-29 15:53 UTC (permalink / raw)
To: Linux PM
Cc: Daniel Lezcano, LKML, Lukasz Luba, Florian Fainelli,
Broadcom internal kernel review list, Ray Jui, Scott Branden
From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Modify the bcm2835 thermal driver to use thermal_zone_get_crit_temp() in
bcm2835_thermal_probe() instead of relying on the assumption that the
critical trip index will always be 0.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
drivers/thermal/broadcom/bcm2835_thermal.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
Index: linux-pm/drivers/thermal/broadcom/bcm2835_thermal.c
===================================================================
--- linux-pm.orig/drivers/thermal/broadcom/bcm2835_thermal.c
+++ linux-pm/drivers/thermal/broadcom/bcm2835_thermal.c
@@ -208,8 +208,7 @@ static int bcm2835_thermal_probe(struct
*/
val = readl(data->regs + BCM2835_TS_TSENSCTL);
if (!(val & BCM2835_TS_TSENSCTL_RSTB)) {
- struct thermal_trip trip;
- int offset, slope;
+ int offset, slope, crit_temp;
slope = thermal_zone_get_slope(tz);
offset = thermal_zone_get_offset(tz);
@@ -217,7 +216,7 @@ static int bcm2835_thermal_probe(struct
* For now we deal only with critical, otherwise
* would need to iterate
*/
- err = thermal_zone_get_trip(tz, 0, &trip);
+ err = thermal_zone_get_crit_temp(tz, &crit_temp);
if (err < 0) {
dev_err(dev, "Not able to read trip_temp: %d\n", err);
return err;
@@ -232,7 +231,7 @@ static int bcm2835_thermal_probe(struct
val |= (0xFE << BCM2835_TS_TSENSCTL_RSTDELAY_SHIFT);
/* trip_adc value from info */
- val |= bcm2835_thermal_temp2adc(trip.temperature,
+ val |= bcm2835_thermal_temp2adc(crit_temp,
offset,
slope)
<< BCM2835_TS_TSENSCTL_THOLD_SHIFT;
^ permalink raw reply [flat|nested] 20+ messages in thread* Re: [RESEND][PATCH v1 1/8] thermal: broadcom: Use thermal_zone_get_crit_temp() in bcm2835_thermal_probe()
2024-07-29 15:53 ` [RESEND][PATCH v1 1/8] thermal: broadcom: Use thermal_zone_get_crit_temp() in bcm2835_thermal_probe() Rafael J. Wysocki
@ 2024-07-29 21:54 ` Florian Fainelli
2024-08-02 9:36 ` Lukasz Luba
1 sibling, 0 replies; 20+ messages in thread
From: Florian Fainelli @ 2024-07-29 21:54 UTC (permalink / raw)
To: Rafael J. Wysocki, Linux PM
Cc: Daniel Lezcano, LKML, Lukasz Luba,
Broadcom internal kernel review list, Ray Jui, Scott Branden
On 7/29/24 08:53, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>
> Modify the bcm2835 thermal driver to use thermal_zone_get_crit_temp() in
> bcm2835_thermal_probe() instead of relying on the assumption that the
> critical trip index will always be 0.
>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
--
Florian
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [RESEND][PATCH v1 1/8] thermal: broadcom: Use thermal_zone_get_crit_temp() in bcm2835_thermal_probe()
2024-07-29 15:53 ` [RESEND][PATCH v1 1/8] thermal: broadcom: Use thermal_zone_get_crit_temp() in bcm2835_thermal_probe() Rafael J. Wysocki
2024-07-29 21:54 ` Florian Fainelli
@ 2024-08-02 9:36 ` Lukasz Luba
1 sibling, 0 replies; 20+ messages in thread
From: Lukasz Luba @ 2024-08-02 9:36 UTC (permalink / raw)
To: Rafael J. Wysocki, Linux PM
Cc: Daniel Lezcano, LKML, Florian Fainelli,
Broadcom internal kernel review list, Ray Jui, Scott Branden
On 7/29/24 16:53, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>
> Modify the bcm2835 thermal driver to use thermal_zone_get_crit_temp() in
> bcm2835_thermal_probe() instead of relying on the assumption that the
> critical trip index will always be 0.
>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> ---
> drivers/thermal/broadcom/bcm2835_thermal.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> Index: linux-pm/drivers/thermal/broadcom/bcm2835_thermal.c
> ===================================================================
> --- linux-pm.orig/drivers/thermal/broadcom/bcm2835_thermal.c
> +++ linux-pm/drivers/thermal/broadcom/bcm2835_thermal.c
> @@ -208,8 +208,7 @@ static int bcm2835_thermal_probe(struct
> */
> val = readl(data->regs + BCM2835_TS_TSENSCTL);
> if (!(val & BCM2835_TS_TSENSCTL_RSTB)) {
> - struct thermal_trip trip;
> - int offset, slope;
> + int offset, slope, crit_temp;
>
> slope = thermal_zone_get_slope(tz);
> offset = thermal_zone_get_offset(tz);
> @@ -217,7 +216,7 @@ static int bcm2835_thermal_probe(struct
> * For now we deal only with critical, otherwise
> * would need to iterate
> */
> - err = thermal_zone_get_trip(tz, 0, &trip);
> + err = thermal_zone_get_crit_temp(tz, &crit_temp);
> if (err < 0) {
> dev_err(dev, "Not able to read trip_temp: %d\n", err);
> return err;
> @@ -232,7 +231,7 @@ static int bcm2835_thermal_probe(struct
> val |= (0xFE << BCM2835_TS_TSENSCTL_RSTDELAY_SHIFT);
>
> /* trip_adc value from info */
> - val |= bcm2835_thermal_temp2adc(trip.temperature,
> + val |= bcm2835_thermal_temp2adc(crit_temp,
> offset,
> slope)
> << BCM2835_TS_TSENSCTL_THOLD_SHIFT;
>
>
>
Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
^ permalink raw reply [flat|nested] 20+ messages in thread
* [RESEND][PATCH v1 2/8] thermal: hisi: Use thermal_zone_for_each_trip() in hisi_thermal_register_sensor()
2024-07-29 15:50 [RESEND][PATCH v1 0/8] thermal: Use trip pointers in thermal driver interface Rafael J. Wysocki
2024-07-29 15:53 ` [RESEND][PATCH v1 1/8] thermal: broadcom: Use thermal_zone_get_crit_temp() in bcm2835_thermal_probe() Rafael J. Wysocki
@ 2024-07-29 15:56 ` Rafael J. Wysocki
2024-08-02 9:35 ` Lukasz Luba
2024-07-29 15:58 ` [RESEND][PATCH v1 3/8] thermal: qcom: Use thermal_zone_get_crit_temp() in qpnp_tm_init() Rafael J. Wysocki
` (5 subsequent siblings)
7 siblings, 1 reply; 20+ messages in thread
From: Rafael J. Wysocki @ 2024-07-29 15:56 UTC (permalink / raw)
To: Linux PM; +Cc: Daniel Lezcano, LKML, Lukasz Luba
From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Modify hisi_thermal_register_sensor() to use thermal_zone_for_each_trip()
for walking trip points instead of iterating over trip indices and using
thermal_zone_get_trip() to get a struct thermal_trip pointer from a trip
index.
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/hisi_thermal.c | 22 +++++++++++++---------
1 file changed, 13 insertions(+), 9 deletions(-)
Index: linux-pm/drivers/thermal/hisi_thermal.c
===================================================================
--- linux-pm.orig/drivers/thermal/hisi_thermal.c
+++ linux-pm/drivers/thermal/hisi_thermal.c
@@ -465,6 +465,18 @@ static irqreturn_t hisi_thermal_alarm_ir
return IRQ_HANDLED;
}
+static int hisi_trip_walk_cb(struct thermal_trip *trip, void *arg)
+{
+ struct hisi_thermal_sensor *sensor = arg;
+
+ if (trip->type != THERMAL_TRIP_PASSIVE)
+ return 0;
+
+ sensor->thres_temp = trip->temperature;
+ /* Return nonzero to terminate the search. */
+ return 1;
+}
+
static int hisi_thermal_register_sensor(struct platform_device *pdev,
struct hisi_thermal_sensor *sensor)
{
@@ -482,15 +494,7 @@ static int hisi_thermal_register_sensor(
return ret;
}
- for (i = 0; i < thermal_zone_get_num_trips(sensor->tzd); i++) {
-
- thermal_zone_get_trip(sensor->tzd, i, &trip);
-
- if (trip.type == THERMAL_TRIP_PASSIVE) {
- sensor->thres_temp = trip.temperature;
- break;
- }
- }
+ thermal_zone_for_each_trip(sensor->tzd, hisi_trip_walk_cb, sensor);
return 0;
}
^ permalink raw reply [flat|nested] 20+ messages in thread* Re: [RESEND][PATCH v1 2/8] thermal: hisi: Use thermal_zone_for_each_trip() in hisi_thermal_register_sensor()
2024-07-29 15:56 ` [RESEND][PATCH v1 2/8] thermal: hisi: Use thermal_zone_for_each_trip() in hisi_thermal_register_sensor() Rafael J. Wysocki
@ 2024-08-02 9:35 ` Lukasz Luba
0 siblings, 0 replies; 20+ messages in thread
From: Lukasz Luba @ 2024-08-02 9:35 UTC (permalink / raw)
To: Rafael J. Wysocki, Linux PM; +Cc: Daniel Lezcano, LKML
On 7/29/24 16:56, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>
> Modify hisi_thermal_register_sensor() to use thermal_zone_for_each_trip()
> for walking trip points instead of iterating over trip indices and using
> thermal_zone_get_trip() to get a struct thermal_trip pointer from a trip
> index.
>
> 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/hisi_thermal.c | 22 +++++++++++++---------
> 1 file changed, 13 insertions(+), 9 deletions(-)
>
> Index: linux-pm/drivers/thermal/hisi_thermal.c
> ===================================================================
> --- linux-pm.orig/drivers/thermal/hisi_thermal.c
> +++ linux-pm/drivers/thermal/hisi_thermal.c
> @@ -465,6 +465,18 @@ static irqreturn_t hisi_thermal_alarm_ir
> return IRQ_HANDLED;
> }
>
> +static int hisi_trip_walk_cb(struct thermal_trip *trip, void *arg)
> +{
> + struct hisi_thermal_sensor *sensor = arg;
> +
> + if (trip->type != THERMAL_TRIP_PASSIVE)
> + return 0;
> +
> + sensor->thres_temp = trip->temperature;
> + /* Return nonzero to terminate the search. */
> + return 1;
> +}
> +
> static int hisi_thermal_register_sensor(struct platform_device *pdev,
> struct hisi_thermal_sensor *sensor)
> {
> @@ -482,15 +494,7 @@ static int hisi_thermal_register_sensor(
> return ret;
> }
>
> - for (i = 0; i < thermal_zone_get_num_trips(sensor->tzd); i++) {
> -
> - thermal_zone_get_trip(sensor->tzd, i, &trip);
> -
> - if (trip.type == THERMAL_TRIP_PASSIVE) {
> - sensor->thres_temp = trip.temperature;
> - break;
> - }
> - }
> + thermal_zone_for_each_trip(sensor->tzd, hisi_trip_walk_cb, sensor);
>
> return 0;
> }
>
>
>
Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
^ permalink raw reply [flat|nested] 20+ messages in thread
* [RESEND][PATCH v1 3/8] thermal: qcom: Use thermal_zone_get_crit_temp() in qpnp_tm_init()
2024-07-29 15:50 [RESEND][PATCH v1 0/8] thermal: Use trip pointers in thermal driver interface Rafael J. Wysocki
2024-07-29 15:53 ` [RESEND][PATCH v1 1/8] thermal: broadcom: Use thermal_zone_get_crit_temp() in bcm2835_thermal_probe() Rafael J. Wysocki
2024-07-29 15:56 ` [RESEND][PATCH v1 2/8] thermal: hisi: Use thermal_zone_for_each_trip() in hisi_thermal_register_sensor() Rafael J. Wysocki
@ 2024-07-29 15:58 ` Rafael J. Wysocki
2024-08-02 9:37 ` Lukasz Luba
2024-08-14 5:09 ` Amit Kucheria
2024-07-29 16:02 ` [RESEND][PATCH v1 4/8] thermal: tegra: Introduce struct trip_temps for critical and hot trips Rafael J. Wysocki
` (4 subsequent siblings)
7 siblings, 2 replies; 20+ messages in thread
From: Rafael J. Wysocki @ 2024-07-29 15:58 UTC (permalink / raw)
To: Linux PM
Cc: Daniel Lezcano, LKML, Lukasz Luba, Amit Kucheria, Thara Gopinath,
linux-arm-msm
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);
^ permalink raw reply [flat|nested] 20+ messages in thread* Re: [RESEND][PATCH v1 3/8] thermal: qcom: Use thermal_zone_get_crit_temp() in qpnp_tm_init()
2024-07-29 15:58 ` [RESEND][PATCH v1 3/8] thermal: qcom: Use thermal_zone_get_crit_temp() in qpnp_tm_init() Rafael J. Wysocki
@ 2024-08-02 9:37 ` Lukasz Luba
2024-08-14 5:09 ` Amit Kucheria
1 sibling, 0 replies; 20+ messages in thread
From: Lukasz Luba @ 2024-08-02 9:37 UTC (permalink / raw)
To: Rafael J. Wysocki, Linux PM
Cc: Daniel Lezcano, LKML, Amit Kucheria, Thara Gopinath,
linux-arm-msm
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>
^ permalink raw reply [flat|nested] 20+ messages in thread* Re: [RESEND][PATCH v1 3/8] thermal: qcom: Use thermal_zone_get_crit_temp() in qpnp_tm_init()
2024-07-29 15:58 ` [RESEND][PATCH v1 3/8] thermal: qcom: Use thermal_zone_get_crit_temp() in qpnp_tm_init() Rafael J. Wysocki
2024-08-02 9:37 ` Lukasz Luba
@ 2024-08-14 5:09 ` Amit Kucheria
1 sibling, 0 replies; 20+ messages in thread
From: Amit Kucheria @ 2024-08-14 5:09 UTC (permalink / raw)
To: Rafael J. Wysocki
Cc: Linux PM, Daniel Lezcano, LKML, Lukasz Luba, Thara Gopinath,
linux-arm-msm
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);
>
>
>
>
^ permalink raw reply [flat|nested] 20+ messages in thread
* [RESEND][PATCH v1 4/8] thermal: tegra: Introduce struct trip_temps for critical and hot trips
2024-07-29 15:50 [RESEND][PATCH v1 0/8] thermal: Use trip pointers in thermal driver interface Rafael J. Wysocki
` (2 preceding siblings ...)
2024-07-29 15:58 ` [RESEND][PATCH v1 3/8] thermal: qcom: Use thermal_zone_get_crit_temp() in qpnp_tm_init() Rafael J. Wysocki
@ 2024-07-29 16:02 ` Rafael J. Wysocki
2024-08-02 9:40 ` Lukasz Luba
2024-07-29 16:05 ` [RESEND][PATCH v1 5/8] thermal: tegra: Use thermal_zone_for_each_trip() for walking trip points Rafael J. Wysocki
` (3 subsequent siblings)
7 siblings, 1 reply; 20+ messages in thread
From: Rafael J. Wysocki @ 2024-07-29 16:02 UTC (permalink / raw)
To: Linux PM
Cc: Daniel Lezcano, LKML, Lukasz Luba, Thierry Reding,
Jonathan Hunter, linux-tegra
From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Introduce a helper structure, struct trip_temps, for storing the
temperatures of the critical and hot trip points.
This helps to make the code in tegra_tsensor_get_hw_channel_trips()
somewhat cleaner and will be useful subsequently in eliminating
iteration over trip indices from the driver.
No intentional functional impact.
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/tegra/tegra30-tsensor.c | 34 ++++++++++++++++++--------------
1 file changed, 20 insertions(+), 14 deletions(-)
Index: linux-pm/drivers/thermal/tegra/tegra30-tsensor.c
===================================================================
--- linux-pm.orig/drivers/thermal/tegra/tegra30-tsensor.c
+++ linux-pm/drivers/thermal/tegra/tegra30-tsensor.c
@@ -303,8 +303,13 @@ stop_channel:
return 0;
}
+struct trip_temps {
+ int hot_trip;
+ int crit_trip;
+};
+
static void tegra_tsensor_get_hw_channel_trips(struct thermal_zone_device *tzd,
- int *hot_trip, int *crit_trip)
+ struct trip_temps *temps)
{
unsigned int i;
@@ -312,8 +317,8 @@ static void tegra_tsensor_get_hw_channel
* 90C is the maximal critical temperature of all Tegra30 SoC variants,
* use it for the default trip if unspecified in a device-tree.
*/
- *hot_trip = 85000;
- *crit_trip = 90000;
+ temps->hot_trip = 85000;
+ temps->crit_trip = 90000;
for (i = 0; i < thermal_zone_get_num_trips(tzd); i++) {
@@ -322,14 +327,14 @@ static void tegra_tsensor_get_hw_channel
thermal_zone_get_trip(tzd, i, &trip);
if (trip.type == THERMAL_TRIP_HOT)
- *hot_trip = trip.temperature;
+ temps->hot_trip = trip.temperature;
if (trip.type == THERMAL_TRIP_CRITICAL)
- *crit_trip = trip.temperature;
+ temps->crit_trip = trip.temperature;
}
/* clamp hardware trips to the calibration limits */
- *hot_trip = clamp(*hot_trip, 25000, 90000);
+ temps->hot_trip = clamp(temps->hot_trip, 25000, 90000);
/*
* Kernel will perform a normal system shut down if it will
@@ -338,7 +343,7 @@ static void tegra_tsensor_get_hw_channel
* shut down gracefully before sending signal to the Power
* Management controller.
*/
- *crit_trip = clamp(*crit_trip + 5000, 25000, 90000);
+ temps->crit_trip = clamp(temps->crit_trip + 5000, 25000, 90000);
}
static int tegra_tsensor_enable_hw_channel(const struct tegra_tsensor *ts,
@@ -346,7 +351,8 @@ static int tegra_tsensor_enable_hw_chann
{
const struct tegra_tsensor_channel *tsc = &ts->ch[id];
struct thermal_zone_device *tzd = tsc->tzd;
- int err, hot_trip = 0, crit_trip = 0;
+ struct trip_temps temps = { 0 };
+ int err;
u32 val;
if (!tzd) {
@@ -357,24 +363,24 @@ static int tegra_tsensor_enable_hw_chann
return 0;
}
- tegra_tsensor_get_hw_channel_trips(tzd, &hot_trip, &crit_trip);
+ tegra_tsensor_get_hw_channel_trips(tzd, &temps);
dev_info_once(ts->dev, "ch%u: PMC emergency shutdown trip set to %dC\n",
- id, DIV_ROUND_CLOSEST(crit_trip, 1000));
+ id, DIV_ROUND_CLOSEST(temps.crit_trip, 1000));
- hot_trip = tegra_tsensor_temp_to_counter(ts, hot_trip);
- crit_trip = tegra_tsensor_temp_to_counter(ts, crit_trip);
+ temps.hot_trip = tegra_tsensor_temp_to_counter(ts, temps.hot_trip);
+ temps.crit_trip = tegra_tsensor_temp_to_counter(ts, temps.crit_trip);
/* program LEVEL2 counter threshold */
val = readl_relaxed(tsc->regs + TSENSOR_SENSOR0_CONFIG1);
val &= ~TSENSOR_SENSOR0_CONFIG1_TH2;
- val |= FIELD_PREP(TSENSOR_SENSOR0_CONFIG1_TH2, hot_trip);
+ val |= FIELD_PREP(TSENSOR_SENSOR0_CONFIG1_TH2, temps.hot_trip);
writel_relaxed(val, tsc->regs + TSENSOR_SENSOR0_CONFIG1);
/* program LEVEL3 counter threshold */
val = readl_relaxed(tsc->regs + TSENSOR_SENSOR0_CONFIG2);
val &= ~TSENSOR_SENSOR0_CONFIG2_TH3;
- val |= FIELD_PREP(TSENSOR_SENSOR0_CONFIG2_TH3, crit_trip);
+ val |= FIELD_PREP(TSENSOR_SENSOR0_CONFIG2_TH3, temps.crit_trip);
writel_relaxed(val, tsc->regs + TSENSOR_SENSOR0_CONFIG2);
/*
^ permalink raw reply [flat|nested] 20+ messages in thread* Re: [RESEND][PATCH v1 4/8] thermal: tegra: Introduce struct trip_temps for critical and hot trips
2024-07-29 16:02 ` [RESEND][PATCH v1 4/8] thermal: tegra: Introduce struct trip_temps for critical and hot trips Rafael J. Wysocki
@ 2024-08-02 9:40 ` Lukasz Luba
0 siblings, 0 replies; 20+ messages in thread
From: Lukasz Luba @ 2024-08-02 9:40 UTC (permalink / raw)
To: Rafael J. Wysocki, Linux PM
Cc: Daniel Lezcano, LKML, Thierry Reding, Jonathan Hunter,
linux-tegra
On 7/29/24 17:02, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>
> Introduce a helper structure, struct trip_temps, for storing the
> temperatures of the critical and hot trip points.
>
> This helps to make the code in tegra_tsensor_get_hw_channel_trips()
> somewhat cleaner and will be useful subsequently in eliminating
> iteration over trip indices from the driver.
>
> No intentional functional impact.
>
> 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/tegra/tegra30-tsensor.c | 34 ++++++++++++++++++--------------
> 1 file changed, 20 insertions(+), 14 deletions(-)
>
> Index: linux-pm/drivers/thermal/tegra/tegra30-tsensor.c
> ===================================================================
> --- linux-pm.orig/drivers/thermal/tegra/tegra30-tsensor.c
> +++ linux-pm/drivers/thermal/tegra/tegra30-tsensor.c
> @@ -303,8 +303,13 @@ stop_channel:
> return 0;
> }
>
> +struct trip_temps {
> + int hot_trip;
> + int crit_trip;
> +};
> +
> static void tegra_tsensor_get_hw_channel_trips(struct thermal_zone_device *tzd,
> - int *hot_trip, int *crit_trip)
> + struct trip_temps *temps)
> {
> unsigned int i;
>
> @@ -312,8 +317,8 @@ static void tegra_tsensor_get_hw_channel
> * 90C is the maximal critical temperature of all Tegra30 SoC variants,
> * use it for the default trip if unspecified in a device-tree.
> */
> - *hot_trip = 85000;
> - *crit_trip = 90000;
> + temps->hot_trip = 85000;
> + temps->crit_trip = 90000;
>
> for (i = 0; i < thermal_zone_get_num_trips(tzd); i++) {
>
> @@ -322,14 +327,14 @@ static void tegra_tsensor_get_hw_channel
> thermal_zone_get_trip(tzd, i, &trip);
>
> if (trip.type == THERMAL_TRIP_HOT)
> - *hot_trip = trip.temperature;
> + temps->hot_trip = trip.temperature;
>
> if (trip.type == THERMAL_TRIP_CRITICAL)
> - *crit_trip = trip.temperature;
> + temps->crit_trip = trip.temperature;
> }
>
> /* clamp hardware trips to the calibration limits */
> - *hot_trip = clamp(*hot_trip, 25000, 90000);
> + temps->hot_trip = clamp(temps->hot_trip, 25000, 90000);
>
> /*
> * Kernel will perform a normal system shut down if it will
> @@ -338,7 +343,7 @@ static void tegra_tsensor_get_hw_channel
> * shut down gracefully before sending signal to the Power
> * Management controller.
> */
> - *crit_trip = clamp(*crit_trip + 5000, 25000, 90000);
> + temps->crit_trip = clamp(temps->crit_trip + 5000, 25000, 90000);
> }
>
> static int tegra_tsensor_enable_hw_channel(const struct tegra_tsensor *ts,
> @@ -346,7 +351,8 @@ static int tegra_tsensor_enable_hw_chann
> {
> const struct tegra_tsensor_channel *tsc = &ts->ch[id];
> struct thermal_zone_device *tzd = tsc->tzd;
> - int err, hot_trip = 0, crit_trip = 0;
> + struct trip_temps temps = { 0 };
> + int err;
> u32 val;
>
> if (!tzd) {
> @@ -357,24 +363,24 @@ static int tegra_tsensor_enable_hw_chann
> return 0;
> }
>
> - tegra_tsensor_get_hw_channel_trips(tzd, &hot_trip, &crit_trip);
> + tegra_tsensor_get_hw_channel_trips(tzd, &temps);
>
> dev_info_once(ts->dev, "ch%u: PMC emergency shutdown trip set to %dC\n",
> - id, DIV_ROUND_CLOSEST(crit_trip, 1000));
> + id, DIV_ROUND_CLOSEST(temps.crit_trip, 1000));
>
> - hot_trip = tegra_tsensor_temp_to_counter(ts, hot_trip);
> - crit_trip = tegra_tsensor_temp_to_counter(ts, crit_trip);
> + temps.hot_trip = tegra_tsensor_temp_to_counter(ts, temps.hot_trip);
> + temps.crit_trip = tegra_tsensor_temp_to_counter(ts, temps.crit_trip);
>
> /* program LEVEL2 counter threshold */
> val = readl_relaxed(tsc->regs + TSENSOR_SENSOR0_CONFIG1);
> val &= ~TSENSOR_SENSOR0_CONFIG1_TH2;
> - val |= FIELD_PREP(TSENSOR_SENSOR0_CONFIG1_TH2, hot_trip);
> + val |= FIELD_PREP(TSENSOR_SENSOR0_CONFIG1_TH2, temps.hot_trip);
> writel_relaxed(val, tsc->regs + TSENSOR_SENSOR0_CONFIG1);
>
> /* program LEVEL3 counter threshold */
> val = readl_relaxed(tsc->regs + TSENSOR_SENSOR0_CONFIG2);
> val &= ~TSENSOR_SENSOR0_CONFIG2_TH3;
> - val |= FIELD_PREP(TSENSOR_SENSOR0_CONFIG2_TH3, crit_trip);
> + val |= FIELD_PREP(TSENSOR_SENSOR0_CONFIG2_TH3, temps.crit_trip);
> writel_relaxed(val, tsc->regs + TSENSOR_SENSOR0_CONFIG2);
>
> /*
>
>
>
Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
^ permalink raw reply [flat|nested] 20+ messages in thread
* [RESEND][PATCH v1 5/8] thermal: tegra: Use thermal_zone_for_each_trip() for walking trip points
2024-07-29 15:50 [RESEND][PATCH v1 0/8] thermal: Use trip pointers in thermal driver interface Rafael J. Wysocki
` (3 preceding siblings ...)
2024-07-29 16:02 ` [RESEND][PATCH v1 4/8] thermal: tegra: Introduce struct trip_temps for critical and hot trips Rafael J. Wysocki
@ 2024-07-29 16:05 ` Rafael J. Wysocki
2024-08-02 9:47 ` Lukasz Luba
2024-07-29 16:06 ` [RESEND][PATCH v1 6/8] thermal: helpers: Drop get_thermal_instance() Rafael J. Wysocki
` (2 subsequent siblings)
7 siblings, 1 reply; 20+ messages in thread
From: Rafael J. Wysocki @ 2024-07-29 16:05 UTC (permalink / raw)
To: Linux PM
Cc: Daniel Lezcano, LKML, Lukasz Luba, Thierry Reding,
Jonathan Hunter, linux-tegra
From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
It is generally inefficient to iterate over trip indices and call
thermal_zone_get_trip() every time to get the struct thermal_trip
corresponding to the given trip index, so modify the Tegra thermal
drivers to use thermal_zone_for_each_trip() for walking trips.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
This patch does not depend on patches [1-3/8].
---
drivers/thermal/tegra/soctherm.c | 38 ++++++++++++++++----------------
drivers/thermal/tegra/tegra30-tsensor.c | 25 ++++++++++-----------
2 files changed, 33 insertions(+), 30 deletions(-)
Index: linux-pm/drivers/thermal/tegra/soctherm.c
===================================================================
--- linux-pm.orig/drivers/thermal/tegra/soctherm.c
+++ linux-pm/drivers/thermal/tegra/soctherm.c
@@ -682,24 +682,25 @@ static const struct thermal_zone_device_
.set_trips = tegra_thermctl_set_trips,
};
-static int get_hot_temp(struct thermal_zone_device *tz, int *trip_id, int *temp)
+static int get_hot_trip_cb(struct thermal_trip *trip, void *arg)
{
- int i, ret;
- struct thermal_trip trip;
+ const struct thermal_trip **trip_ret = arg;
- for (i = 0; i < thermal_zone_get_num_trips(tz); i++) {
+ if (trip->type != THERMAL_TRIP_HOT)
+ return 0;
- ret = thermal_zone_get_trip(tz, i, &trip);
- if (ret)
- return -EINVAL;
-
- if (trip.type == THERMAL_TRIP_HOT) {
- *trip_id = i;
- return 0;
- }
- }
+ *trip_ret = trip;
+ /* Return nonzero to terminate the search. */
+ return 1;
+}
- return -EINVAL;
+static const struct thermal_trip *get_hot_trip(struct thermal_zone_device *tz)
+{
+ const struct thermal_trip *trip = NULL;
+
+ thermal_zone_for_each_trip(tz, get_hot_trip_cb, &trip);
+
+ return trip;
}
/**
@@ -731,8 +732,9 @@ static int tegra_soctherm_set_hwtrips(st
struct thermal_zone_device *tz)
{
struct tegra_soctherm *ts = dev_get_drvdata(dev);
+ const struct thermal_trip *hot_trip;
struct soctherm_throt_cfg *stc;
- int i, trip, temperature, ret;
+ int i, temperature, ret;
/* Get thermtrips. If missing, try to get critical trips. */
temperature = tsensor_group_thermtrip_get(ts, sg->id);
@@ -749,8 +751,8 @@ static int tegra_soctherm_set_hwtrips(st
dev_info(dev, "thermtrip: will shut down when %s reaches %d mC\n",
sg->name, temperature);
- ret = get_hot_temp(tz, &trip, &temperature);
- if (ret) {
+ hot_trip = get_hot_trip(tz);
+ if (!hot_trip) {
dev_info(dev, "throttrip: %s: missing hot temperature\n",
sg->name);
return 0;
@@ -763,7 +765,7 @@ static int tegra_soctherm_set_hwtrips(st
continue;
cdev = ts->throt_cfgs[i].cdev;
- if (get_thermal_instance(tz, cdev, trip))
+ if (thermal_trip_is_bound_to_cdev(tz, hot_trip, cdev))
stc = find_throttle_cfg_by_name(ts, cdev->type);
else
continue;
Index: linux-pm/drivers/thermal/tegra/tegra30-tsensor.c
===================================================================
--- linux-pm.orig/drivers/thermal/tegra/tegra30-tsensor.c
+++ linux-pm/drivers/thermal/tegra/tegra30-tsensor.c
@@ -308,6 +308,18 @@ struct trip_temps {
int crit_trip;
};
+static int tegra_tsensor_get_trips_cb(struct thermal_trip *trip, void *arg)
+{
+ struct trip_temps *temps = arg;
+
+ if (trip->type == THERMAL_TRIP_HOT)
+ temps->hot_trip = trip->temperature;
+ else if (trip->type == THERMAL_TRIP_CRITICAL)
+ temps->crit_trip = trip->temperature;
+
+ return 0;
+}
+
static void tegra_tsensor_get_hw_channel_trips(struct thermal_zone_device *tzd,
struct trip_temps *temps)
{
@@ -320,18 +332,7 @@ static void tegra_tsensor_get_hw_channel
temps->hot_trip = 85000;
temps->crit_trip = 90000;
- for (i = 0; i < thermal_zone_get_num_trips(tzd); i++) {
-
- struct thermal_trip trip;
-
- thermal_zone_get_trip(tzd, i, &trip);
-
- if (trip.type == THERMAL_TRIP_HOT)
- temps->hot_trip = trip.temperature;
-
- if (trip.type == THERMAL_TRIP_CRITICAL)
- temps->crit_trip = trip.temperature;
- }
+ thermal_zone_for_each_trip(tzd, tegra_tsensor_get_trips_cb, temps);
/* clamp hardware trips to the calibration limits */
temps->hot_trip = clamp(temps->hot_trip, 25000, 90000);
^ permalink raw reply [flat|nested] 20+ messages in thread* Re: [RESEND][PATCH v1 5/8] thermal: tegra: Use thermal_zone_for_each_trip() for walking trip points
2024-07-29 16:05 ` [RESEND][PATCH v1 5/8] thermal: tegra: Use thermal_zone_for_each_trip() for walking trip points Rafael J. Wysocki
@ 2024-08-02 9:47 ` Lukasz Luba
0 siblings, 0 replies; 20+ messages in thread
From: Lukasz Luba @ 2024-08-02 9:47 UTC (permalink / raw)
To: Rafael J. Wysocki, Linux PM
Cc: Daniel Lezcano, LKML, Thierry Reding, Jonathan Hunter,
linux-tegra
On 7/29/24 17:05, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>
> It is generally inefficient to iterate over trip indices and call
> thermal_zone_get_trip() every time to get the struct thermal_trip
> corresponding to the given trip index, so modify the Tegra thermal
> drivers to use thermal_zone_for_each_trip() for walking trips.
>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> ---
>
> This patch does not depend on patches [1-3/8].
>
> ---
> drivers/thermal/tegra/soctherm.c | 38 ++++++++++++++++----------------
> drivers/thermal/tegra/tegra30-tsensor.c | 25 ++++++++++-----------
> 2 files changed, 33 insertions(+), 30 deletions(-)
>
> Index: linux-pm/drivers/thermal/tegra/soctherm.c
> ===================================================================
> --- linux-pm.orig/drivers/thermal/tegra/soctherm.c
> +++ linux-pm/drivers/thermal/tegra/soctherm.c
> @@ -682,24 +682,25 @@ static const struct thermal_zone_device_
> .set_trips = tegra_thermctl_set_trips,
> };
>
> -static int get_hot_temp(struct thermal_zone_device *tz, int *trip_id, int *temp)
> +static int get_hot_trip_cb(struct thermal_trip *trip, void *arg)
> {
> - int i, ret;
> - struct thermal_trip trip;
> + const struct thermal_trip **trip_ret = arg;
>
> - for (i = 0; i < thermal_zone_get_num_trips(tz); i++) {
> + if (trip->type != THERMAL_TRIP_HOT)
> + return 0;
>
> - ret = thermal_zone_get_trip(tz, i, &trip);
> - if (ret)
> - return -EINVAL;
> -
> - if (trip.type == THERMAL_TRIP_HOT) {
> - *trip_id = i;
> - return 0;
> - }
> - }
> + *trip_ret = trip;
> + /* Return nonzero to terminate the search. */
> + return 1;
> +}
>
> - return -EINVAL;
> +static const struct thermal_trip *get_hot_trip(struct thermal_zone_device *tz)
> +{
> + const struct thermal_trip *trip = NULL;
> +
> + thermal_zone_for_each_trip(tz, get_hot_trip_cb, &trip);
> +
> + return trip;
> }
>
> /**
> @@ -731,8 +732,9 @@ static int tegra_soctherm_set_hwtrips(st
> struct thermal_zone_device *tz)
> {
> struct tegra_soctherm *ts = dev_get_drvdata(dev);
> + const struct thermal_trip *hot_trip;
> struct soctherm_throt_cfg *stc;
> - int i, trip, temperature, ret;
> + int i, temperature, ret;
>
> /* Get thermtrips. If missing, try to get critical trips. */
> temperature = tsensor_group_thermtrip_get(ts, sg->id);
> @@ -749,8 +751,8 @@ static int tegra_soctherm_set_hwtrips(st
> dev_info(dev, "thermtrip: will shut down when %s reaches %d mC\n",
> sg->name, temperature);
>
> - ret = get_hot_temp(tz, &trip, &temperature);
> - if (ret) {
> + hot_trip = get_hot_trip(tz);
> + if (!hot_trip) {
> dev_info(dev, "throttrip: %s: missing hot temperature\n",
> sg->name);
> return 0;
> @@ -763,7 +765,7 @@ static int tegra_soctherm_set_hwtrips(st
> continue;
>
> cdev = ts->throt_cfgs[i].cdev;
> - if (get_thermal_instance(tz, cdev, trip))
> + if (thermal_trip_is_bound_to_cdev(tz, hot_trip, cdev))
> stc = find_throttle_cfg_by_name(ts, cdev->type);
> else
> continue;
> Index: linux-pm/drivers/thermal/tegra/tegra30-tsensor.c
> ===================================================================
> --- linux-pm.orig/drivers/thermal/tegra/tegra30-tsensor.c
> +++ linux-pm/drivers/thermal/tegra/tegra30-tsensor.c
> @@ -308,6 +308,18 @@ struct trip_temps {
> int crit_trip;
> };
>
> +static int tegra_tsensor_get_trips_cb(struct thermal_trip *trip, void *arg)
> +{
> + struct trip_temps *temps = arg;
> +
> + if (trip->type == THERMAL_TRIP_HOT)
> + temps->hot_trip = trip->temperature;
> + else if (trip->type == THERMAL_TRIP_CRITICAL)
> + temps->crit_trip = trip->temperature;
> +
> + return 0;
> +}
> +
> static void tegra_tsensor_get_hw_channel_trips(struct thermal_zone_device *tzd,
> struct trip_temps *temps)
> {
> @@ -320,18 +332,7 @@ static void tegra_tsensor_get_hw_channel
> temps->hot_trip = 85000;
> temps->crit_trip = 90000;
>
> - for (i = 0; i < thermal_zone_get_num_trips(tzd); i++) {
> -
> - struct thermal_trip trip;
> -
> - thermal_zone_get_trip(tzd, i, &trip);
> -
> - if (trip.type == THERMAL_TRIP_HOT)
> - temps->hot_trip = trip.temperature;
> -
> - if (trip.type == THERMAL_TRIP_CRITICAL)
> - temps->crit_trip = trip.temperature;
> - }
> + thermal_zone_for_each_trip(tzd, tegra_tsensor_get_trips_cb, temps);
>
> /* clamp hardware trips to the calibration limits */
> temps->hot_trip = clamp(temps->hot_trip, 25000, 90000);
>
>
>
Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
^ permalink raw reply [flat|nested] 20+ messages in thread
* [RESEND][PATCH v1 6/8] thermal: helpers: Drop get_thermal_instance()
2024-07-29 15:50 [RESEND][PATCH v1 0/8] thermal: Use trip pointers in thermal driver interface Rafael J. Wysocki
` (4 preceding siblings ...)
2024-07-29 16:05 ` [RESEND][PATCH v1 5/8] thermal: tegra: Use thermal_zone_for_each_trip() for walking trip points Rafael J. Wysocki
@ 2024-07-29 16:06 ` Rafael J. Wysocki
2024-08-02 9:53 ` Lukasz Luba
2024-07-29 16:11 ` [PATCH v2 7/8] thermal: trip: Get rid of thermal_zone_get_num_trips() Rafael J. Wysocki
2024-07-29 16:12 ` [RESEND][PATCH v1 8/8] thermal: trip: Drop thermal_zone_get_trip() Rafael J. Wysocki
7 siblings, 1 reply; 20+ messages in thread
From: Rafael J. Wysocki @ 2024-07-29 16:06 UTC (permalink / raw)
To: Linux PM; +Cc: Daniel Lezcano, LKML, Lukasz Luba
From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
There are no more users of get_thermal_instance(), so drop it.
While at it, replace get_instance() returning a pointer to struct
thermal_instance with thermal_instance_present() returning a bool
which is more straightforward.
No functional impact.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
drivers/thermal/thermal_core.h | 5 -----
drivers/thermal/thermal_helpers.c | 30 ++++++------------------------
2 files changed, 6 insertions(+), 29 deletions(-)
Index: linux-pm/drivers/thermal/thermal_core.h
===================================================================
--- linux-pm.orig/drivers/thermal/thermal_core.h
+++ linux-pm/drivers/thermal/thermal_core.h
@@ -204,11 +204,6 @@ void __thermal_cdev_update(struct therma
int get_tz_trend(struct thermal_zone_device *tz, const struct thermal_trip *trip);
-struct thermal_instance *
-get_thermal_instance(struct thermal_zone_device *tz,
- struct thermal_cooling_device *cdev,
- int trip);
-
/*
* This structure is used to describe the behavior of
* a certain cooling device on a certain trip point
Index: linux-pm/drivers/thermal/thermal_helpers.c
===================================================================
--- linux-pm.orig/drivers/thermal/thermal_helpers.c
+++ linux-pm/drivers/thermal/thermal_helpers.c
@@ -39,18 +39,18 @@ int get_tz_trend(struct thermal_zone_dev
return trend;
}
-static struct thermal_instance *get_instance(struct thermal_zone_device *tz,
- struct thermal_cooling_device *cdev,
- const struct thermal_trip *trip)
+static bool thermal_instance_present(struct thermal_zone_device *tz,
+ struct thermal_cooling_device *cdev,
+ const struct thermal_trip *trip)
{
struct thermal_instance *ti;
list_for_each_entry(ti, &tz->thermal_instances, tz_node) {
if (ti->trip == trip && ti->cdev == cdev)
- return ti;
+ return true;
}
- return NULL;
+ return false;
}
bool thermal_trip_is_bound_to_cdev(struct thermal_zone_device *tz,
@@ -62,7 +62,7 @@ bool thermal_trip_is_bound_to_cdev(struc
mutex_lock(&tz->lock);
mutex_lock(&cdev->lock);
- ret = !!get_instance(tz, cdev, trip);
+ ret = thermal_instance_present(tz, cdev, trip);
mutex_unlock(&cdev->lock);
mutex_unlock(&tz->lock);
@@ -71,24 +71,6 @@ bool thermal_trip_is_bound_to_cdev(struc
}
EXPORT_SYMBOL_GPL(thermal_trip_is_bound_to_cdev);
-struct thermal_instance *
-get_thermal_instance(struct thermal_zone_device *tz,
- struct thermal_cooling_device *cdev, int trip_index)
-{
- struct thermal_instance *ti;
-
- mutex_lock(&tz->lock);
- mutex_lock(&cdev->lock);
-
- ti = get_instance(tz, cdev, &tz->trips[trip_index].trip);
-
- mutex_unlock(&cdev->lock);
- mutex_unlock(&tz->lock);
-
- return ti;
-}
-EXPORT_SYMBOL(get_thermal_instance);
-
/**
* __thermal_zone_get_temp() - returns the temperature of a thermal zone
* @tz: a valid pointer to a struct thermal_zone_device
^ permalink raw reply [flat|nested] 20+ messages in thread* Re: [RESEND][PATCH v1 6/8] thermal: helpers: Drop get_thermal_instance()
2024-07-29 16:06 ` [RESEND][PATCH v1 6/8] thermal: helpers: Drop get_thermal_instance() Rafael J. Wysocki
@ 2024-08-02 9:53 ` Lukasz Luba
0 siblings, 0 replies; 20+ messages in thread
From: Lukasz Luba @ 2024-08-02 9:53 UTC (permalink / raw)
To: Rafael J. Wysocki, Linux PM; +Cc: Daniel Lezcano, LKML
On 7/29/24 17:06, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>
> There are no more users of get_thermal_instance(), so drop it.
>
> While at it, replace get_instance() returning a pointer to struct
> thermal_instance with thermal_instance_present() returning a bool
> which is more straightforward.
>
> No functional impact.
>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> ---
> drivers/thermal/thermal_core.h | 5 -----
> drivers/thermal/thermal_helpers.c | 30 ++++++------------------------
> 2 files changed, 6 insertions(+), 29 deletions(-)
>
> Index: linux-pm/drivers/thermal/thermal_core.h
> ===================================================================
> --- linux-pm.orig/drivers/thermal/thermal_core.h
> +++ linux-pm/drivers/thermal/thermal_core.h
> @@ -204,11 +204,6 @@ void __thermal_cdev_update(struct therma
>
> int get_tz_trend(struct thermal_zone_device *tz, const struct thermal_trip *trip);
>
> -struct thermal_instance *
> -get_thermal_instance(struct thermal_zone_device *tz,
> - struct thermal_cooling_device *cdev,
> - int trip);
> -
> /*
> * This structure is used to describe the behavior of
> * a certain cooling device on a certain trip point
> Index: linux-pm/drivers/thermal/thermal_helpers.c
> ===================================================================
> --- linux-pm.orig/drivers/thermal/thermal_helpers.c
> +++ linux-pm/drivers/thermal/thermal_helpers.c
> @@ -39,18 +39,18 @@ int get_tz_trend(struct thermal_zone_dev
> return trend;
> }
>
> -static struct thermal_instance *get_instance(struct thermal_zone_device *tz,
> - struct thermal_cooling_device *cdev,
> - const struct thermal_trip *trip)
> +static bool thermal_instance_present(struct thermal_zone_device *tz,
> + struct thermal_cooling_device *cdev,
> + const struct thermal_trip *trip)
> {
> struct thermal_instance *ti;
>
> list_for_each_entry(ti, &tz->thermal_instances, tz_node) {
> if (ti->trip == trip && ti->cdev == cdev)
> - return ti;
> + return true;
> }
>
> - return NULL;
> + return false;
> }
>
> bool thermal_trip_is_bound_to_cdev(struct thermal_zone_device *tz,
> @@ -62,7 +62,7 @@ bool thermal_trip_is_bound_to_cdev(struc
> mutex_lock(&tz->lock);
> mutex_lock(&cdev->lock);
>
> - ret = !!get_instance(tz, cdev, trip);
> + ret = thermal_instance_present(tz, cdev, trip);
>
> mutex_unlock(&cdev->lock);
> mutex_unlock(&tz->lock);
> @@ -71,24 +71,6 @@ bool thermal_trip_is_bound_to_cdev(struc
> }
> EXPORT_SYMBOL_GPL(thermal_trip_is_bound_to_cdev);
>
> -struct thermal_instance *
> -get_thermal_instance(struct thermal_zone_device *tz,
> - struct thermal_cooling_device *cdev, int trip_index)
> -{
> - struct thermal_instance *ti;
> -
> - mutex_lock(&tz->lock);
> - mutex_lock(&cdev->lock);
> -
> - ti = get_instance(tz, cdev, &tz->trips[trip_index].trip);
> -
> - mutex_unlock(&cdev->lock);
> - mutex_unlock(&tz->lock);
> -
> - return ti;
> -}
> -EXPORT_SYMBOL(get_thermal_instance);
> -
> /**
> * __thermal_zone_get_temp() - returns the temperature of a thermal zone
> * @tz: a valid pointer to a struct thermal_zone_device
>
>
>
LGTM, small nit: you can also remove the description of that
get_thermal_instance() from
Documentation/driver-api/thermal/sysfs-api.rst
It sneaked in somehow...
Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v2 7/8] thermal: trip: Get rid of thermal_zone_get_num_trips()
2024-07-29 15:50 [RESEND][PATCH v1 0/8] thermal: Use trip pointers in thermal driver interface Rafael J. Wysocki
` (5 preceding siblings ...)
2024-07-29 16:06 ` [RESEND][PATCH v1 6/8] thermal: helpers: Drop get_thermal_instance() Rafael J. Wysocki
@ 2024-07-29 16:11 ` Rafael J. Wysocki
2024-07-30 10:37 ` Niklas Söderlund
2024-08-02 9:55 ` Lukasz Luba
2024-07-29 16:12 ` [RESEND][PATCH v1 8/8] thermal: trip: Drop thermal_zone_get_trip() Rafael J. Wysocki
7 siblings, 2 replies; 20+ messages in thread
From: Rafael J. Wysocki @ 2024-07-29 16:11 UTC (permalink / raw)
To: Linux PM
Cc: Daniel Lezcano, LKML, Lukasz Luba, Niklas Söderlund,
linux-renesas-soc
From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
The only existing caller of thermal_zone_get_num_trips(), which is
rcar_gen3_thermal_probe(), uses this function to put the number of
trip points into a kernel log message, but this information is also
available from the thermal sysfs interface.
For this reason, remove the thermal_zone_get_num_trips() call from
rcar_gen3_thermal_probe() and drop the former altogether.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
A new version, based on the discussion following the v1:
https://lore.kernel.org/linux-pm/20240617183949.GO382677@ragnatech.se/
The Renesas driver change does not depend on the previous patches
in the series.
---
drivers/thermal/renesas/rcar_gen3_thermal.c | 6 +-----
drivers/thermal/thermal_trip.c | 6 ------
include/linux/thermal.h | 1 -
3 files changed, 1 insertion(+), 12 deletions(-)
Index: linux-pm/drivers/thermal/renesas/rcar_gen3_thermal.c
===================================================================
--- linux-pm.orig/drivers/thermal/renesas/rcar_gen3_thermal.c
+++ linux-pm/drivers/thermal/renesas/rcar_gen3_thermal.c
@@ -563,11 +563,7 @@ static int rcar_gen3_thermal_probe(struc
if (ret)
goto error_unregister;
- ret = thermal_zone_get_num_trips(tsc->zone);
- if (ret < 0)
- goto error_unregister;
-
- dev_info(dev, "Sensor %u: Loaded %d trip points\n", i, ret);
+ dev_info(dev, "Sensor %u: Loaded\n", i);
}
if (!priv->num_tscs) {
Index: linux-pm/drivers/thermal/thermal_trip.c
===================================================================
--- linux-pm.orig/drivers/thermal/thermal_trip.c
+++ linux-pm/drivers/thermal/thermal_trip.c
@@ -55,12 +55,6 @@ int thermal_zone_for_each_trip(struct th
}
EXPORT_SYMBOL_GPL(thermal_zone_for_each_trip);
-int thermal_zone_get_num_trips(struct thermal_zone_device *tz)
-{
- return tz->num_trips;
-}
-EXPORT_SYMBOL_GPL(thermal_zone_get_num_trips);
-
/**
* thermal_zone_set_trips - Computes the next trip points for the driver
* @tz: a pointer to a thermal zone device structure
Index: linux-pm/include/linux/thermal.h
===================================================================
--- linux-pm.orig/include/linux/thermal.h
+++ linux-pm/include/linux/thermal.h
@@ -210,7 +210,6 @@ int for_each_thermal_trip(struct thermal
int thermal_zone_for_each_trip(struct thermal_zone_device *tz,
int (*cb)(struct thermal_trip *, void *),
void *data);
-int thermal_zone_get_num_trips(struct thermal_zone_device *tz);
void thermal_zone_set_trip_temp(struct thermal_zone_device *tz,
struct thermal_trip *trip, int temp);
^ permalink raw reply [flat|nested] 20+ messages in thread* Re: [PATCH v2 7/8] thermal: trip: Get rid of thermal_zone_get_num_trips()
2024-07-29 16:11 ` [PATCH v2 7/8] thermal: trip: Get rid of thermal_zone_get_num_trips() Rafael J. Wysocki
@ 2024-07-30 10:37 ` Niklas Söderlund
2024-08-02 9:55 ` Lukasz Luba
1 sibling, 0 replies; 20+ messages in thread
From: Niklas Söderlund @ 2024-07-30 10:37 UTC (permalink / raw)
To: Rafael J. Wysocki
Cc: Linux PM, Daniel Lezcano, LKML, Lukasz Luba, linux-renesas-soc
Hi Rafael,
Thanks for your work.
On 2024-07-29 18:11:29 +0200, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>
> The only existing caller of thermal_zone_get_num_trips(), which is
> rcar_gen3_thermal_probe(), uses this function to put the number of
> trip points into a kernel log message, but this information is also
> available from the thermal sysfs interface.
>
> For this reason, remove the thermal_zone_get_num_trips() call from
> rcar_gen3_thermal_probe() and drop the former altogether.
>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
> ---
>
> A new version, based on the discussion following the v1:
>
> https://lore.kernel.org/linux-pm/20240617183949.GO382677@ragnatech.se/
>
> The Renesas driver change does not depend on the previous patches
> in the series.
>
> ---
> drivers/thermal/renesas/rcar_gen3_thermal.c | 6 +-----
> drivers/thermal/thermal_trip.c | 6 ------
> include/linux/thermal.h | 1 -
> 3 files changed, 1 insertion(+), 12 deletions(-)
>
> Index: linux-pm/drivers/thermal/renesas/rcar_gen3_thermal.c
> ===================================================================
> --- linux-pm.orig/drivers/thermal/renesas/rcar_gen3_thermal.c
> +++ linux-pm/drivers/thermal/renesas/rcar_gen3_thermal.c
> @@ -563,11 +563,7 @@ static int rcar_gen3_thermal_probe(struc
> if (ret)
> goto error_unregister;
>
> - ret = thermal_zone_get_num_trips(tsc->zone);
> - if (ret < 0)
> - goto error_unregister;
> -
> - dev_info(dev, "Sensor %u: Loaded %d trip points\n", i, ret);
> + dev_info(dev, "Sensor %u: Loaded\n", i);
> }
>
> if (!priv->num_tscs) {
> Index: linux-pm/drivers/thermal/thermal_trip.c
> ===================================================================
> --- linux-pm.orig/drivers/thermal/thermal_trip.c
> +++ linux-pm/drivers/thermal/thermal_trip.c
> @@ -55,12 +55,6 @@ int thermal_zone_for_each_trip(struct th
> }
> EXPORT_SYMBOL_GPL(thermal_zone_for_each_trip);
>
> -int thermal_zone_get_num_trips(struct thermal_zone_device *tz)
> -{
> - return tz->num_trips;
> -}
> -EXPORT_SYMBOL_GPL(thermal_zone_get_num_trips);
> -
> /**
> * thermal_zone_set_trips - Computes the next trip points for the driver
> * @tz: a pointer to a thermal zone device structure
> Index: linux-pm/include/linux/thermal.h
> ===================================================================
> --- linux-pm.orig/include/linux/thermal.h
> +++ linux-pm/include/linux/thermal.h
> @@ -210,7 +210,6 @@ int for_each_thermal_trip(struct thermal
> int thermal_zone_for_each_trip(struct thermal_zone_device *tz,
> int (*cb)(struct thermal_trip *, void *),
> void *data);
> -int thermal_zone_get_num_trips(struct thermal_zone_device *tz);
> void thermal_zone_set_trip_temp(struct thermal_zone_device *tz,
> struct thermal_trip *trip, int temp);
>
>
>
>
--
Kind Regards,
Niklas Söderlund
^ permalink raw reply [flat|nested] 20+ messages in thread* Re: [PATCH v2 7/8] thermal: trip: Get rid of thermal_zone_get_num_trips()
2024-07-29 16:11 ` [PATCH v2 7/8] thermal: trip: Get rid of thermal_zone_get_num_trips() Rafael J. Wysocki
2024-07-30 10:37 ` Niklas Söderlund
@ 2024-08-02 9:55 ` Lukasz Luba
1 sibling, 0 replies; 20+ messages in thread
From: Lukasz Luba @ 2024-08-02 9:55 UTC (permalink / raw)
To: Rafael J. Wysocki, Linux PM
Cc: Daniel Lezcano, LKML, Niklas Söderlund, linux-renesas-soc
On 7/29/24 17:11, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>
> The only existing caller of thermal_zone_get_num_trips(), which is
> rcar_gen3_thermal_probe(), uses this function to put the number of
> trip points into a kernel log message, but this information is also
> available from the thermal sysfs interface.
>
> For this reason, remove the thermal_zone_get_num_trips() call from
> rcar_gen3_thermal_probe() and drop the former altogether.
>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> ---
>
> A new version, based on the discussion following the v1:
>
> https://lore.kernel.org/linux-pm/20240617183949.GO382677@ragnatech.se/
>
> The Renesas driver change does not depend on the previous patches
> in the series.
>
> ---
> drivers/thermal/renesas/rcar_gen3_thermal.c | 6 +-----
> drivers/thermal/thermal_trip.c | 6 ------
> include/linux/thermal.h | 1 -
> 3 files changed, 1 insertion(+), 12 deletions(-)
>
> Index: linux-pm/drivers/thermal/renesas/rcar_gen3_thermal.c
> ===================================================================
> --- linux-pm.orig/drivers/thermal/renesas/rcar_gen3_thermal.c
> +++ linux-pm/drivers/thermal/renesas/rcar_gen3_thermal.c
> @@ -563,11 +563,7 @@ static int rcar_gen3_thermal_probe(struc
> if (ret)
> goto error_unregister;
>
> - ret = thermal_zone_get_num_trips(tsc->zone);
> - if (ret < 0)
> - goto error_unregister;
> -
> - dev_info(dev, "Sensor %u: Loaded %d trip points\n", i, ret);
> + dev_info(dev, "Sensor %u: Loaded\n", i);
> }
>
> if (!priv->num_tscs) {
> Index: linux-pm/drivers/thermal/thermal_trip.c
> ===================================================================
> --- linux-pm.orig/drivers/thermal/thermal_trip.c
> +++ linux-pm/drivers/thermal/thermal_trip.c
> @@ -55,12 +55,6 @@ int thermal_zone_for_each_trip(struct th
> }
> EXPORT_SYMBOL_GPL(thermal_zone_for_each_trip);
>
> -int thermal_zone_get_num_trips(struct thermal_zone_device *tz)
> -{
> - return tz->num_trips;
> -}
> -EXPORT_SYMBOL_GPL(thermal_zone_get_num_trips);
> -
> /**
> * thermal_zone_set_trips - Computes the next trip points for the driver
> * @tz: a pointer to a thermal zone device structure
> Index: linux-pm/include/linux/thermal.h
> ===================================================================
> --- linux-pm.orig/include/linux/thermal.h
> +++ linux-pm/include/linux/thermal.h
> @@ -210,7 +210,6 @@ int for_each_thermal_trip(struct thermal
> int thermal_zone_for_each_trip(struct thermal_zone_device *tz,
> int (*cb)(struct thermal_trip *, void *),
> void *data);
> -int thermal_zone_get_num_trips(struct thermal_zone_device *tz);
> void thermal_zone_set_trip_temp(struct thermal_zone_device *tz,
> struct thermal_trip *trip, int temp);
>
>
>
>
Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
^ permalink raw reply [flat|nested] 20+ messages in thread
* [RESEND][PATCH v1 8/8] thermal: trip: Drop thermal_zone_get_trip()
2024-07-29 15:50 [RESEND][PATCH v1 0/8] thermal: Use trip pointers in thermal driver interface Rafael J. Wysocki
` (6 preceding siblings ...)
2024-07-29 16:11 ` [PATCH v2 7/8] thermal: trip: Get rid of thermal_zone_get_num_trips() Rafael J. Wysocki
@ 2024-07-29 16:12 ` Rafael J. Wysocki
2024-08-02 9:56 ` Lukasz Luba
7 siblings, 1 reply; 20+ messages in thread
From: Rafael J. Wysocki @ 2024-07-29 16:12 UTC (permalink / raw)
To: Linux PM; +Cc: Daniel Lezcano, LKML, Lukasz Luba
From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
There are no more callers of thermal_zone_get_trip() in the tree, so
drop it.
No functional impact.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
drivers/thermal/thermal_trip.c | 14 --------------
include/linux/thermal.h | 2 --
2 files changed, 16 deletions(-)
Index: linux-pm/drivers/thermal/thermal_trip.c
===================================================================
--- linux-pm.orig/drivers/thermal/thermal_trip.c
+++ linux-pm/drivers/thermal/thermal_trip.c
@@ -108,20 +108,6 @@ void thermal_zone_set_trips(struct therm
dev_err(&tz->device, "Failed to set trips: %d\n", ret);
}
-int thermal_zone_get_trip(struct thermal_zone_device *tz, int trip_id,
- struct thermal_trip *trip)
-{
- if (!tz || !trip || trip_id < 0 || trip_id >= tz->num_trips)
- return -EINVAL;
-
- mutex_lock(&tz->lock);
- *trip = tz->trips[trip_id].trip;
- mutex_unlock(&tz->lock);
-
- return 0;
-}
-EXPORT_SYMBOL_GPL(thermal_zone_get_trip);
-
int thermal_zone_trip_id(const struct thermal_zone_device *tz,
const struct thermal_trip *trip)
{
Index: linux-pm/include/linux/thermal.h
===================================================================
--- linux-pm.orig/include/linux/thermal.h
+++ linux-pm/include/linux/thermal.h
@@ -202,8 +202,6 @@ static inline void devm_thermal_of_zone_
}
#endif
-int thermal_zone_get_trip(struct thermal_zone_device *tz, int trip_id,
- struct thermal_trip *trip);
int for_each_thermal_trip(struct thermal_zone_device *tz,
int (*cb)(struct thermal_trip *, void *),
void *data);
^ permalink raw reply [flat|nested] 20+ messages in thread* Re: [RESEND][PATCH v1 8/8] thermal: trip: Drop thermal_zone_get_trip()
2024-07-29 16:12 ` [RESEND][PATCH v1 8/8] thermal: trip: Drop thermal_zone_get_trip() Rafael J. Wysocki
@ 2024-08-02 9:56 ` Lukasz Luba
0 siblings, 0 replies; 20+ messages in thread
From: Lukasz Luba @ 2024-08-02 9:56 UTC (permalink / raw)
To: Rafael J. Wysocki, Linux PM; +Cc: Daniel Lezcano, LKML
On 7/29/24 17:12, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>
> There are no more callers of thermal_zone_get_trip() in the tree, so
> drop it.
>
> No functional impact.
>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> ---
> drivers/thermal/thermal_trip.c | 14 --------------
> include/linux/thermal.h | 2 --
> 2 files changed, 16 deletions(-)
>
> Index: linux-pm/drivers/thermal/thermal_trip.c
> ===================================================================
> --- linux-pm.orig/drivers/thermal/thermal_trip.c
> +++ linux-pm/drivers/thermal/thermal_trip.c
> @@ -108,20 +108,6 @@ void thermal_zone_set_trips(struct therm
> dev_err(&tz->device, "Failed to set trips: %d\n", ret);
> }
>
> -int thermal_zone_get_trip(struct thermal_zone_device *tz, int trip_id,
> - struct thermal_trip *trip)
> -{
> - if (!tz || !trip || trip_id < 0 || trip_id >= tz->num_trips)
> - return -EINVAL;
> -
> - mutex_lock(&tz->lock);
> - *trip = tz->trips[trip_id].trip;
> - mutex_unlock(&tz->lock);
> -
> - return 0;
> -}
> -EXPORT_SYMBOL_GPL(thermal_zone_get_trip);
> -
> int thermal_zone_trip_id(const struct thermal_zone_device *tz,
> const struct thermal_trip *trip)
> {
> Index: linux-pm/include/linux/thermal.h
> ===================================================================
> --- linux-pm.orig/include/linux/thermal.h
> +++ linux-pm/include/linux/thermal.h
> @@ -202,8 +202,6 @@ static inline void devm_thermal_of_zone_
> }
> #endif
>
> -int thermal_zone_get_trip(struct thermal_zone_device *tz, int trip_id,
> - struct thermal_trip *trip);
> int for_each_thermal_trip(struct thermal_zone_device *tz,
> int (*cb)(struct thermal_trip *, void *),
> void *data);
>
>
>
Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
^ permalink raw reply [flat|nested] 20+ messages in thread