mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] thermal: of: Match trip property helper types
@ 2026-06-12 21:50 Rob Herring (Arm)
  2026-06-15  8:11 ` Lukasz Luba
  2026-08-17 23:25 ` Rob Herring
  0 siblings, 2 replies; 3+ messages in thread
From: Rob Herring (Arm) @ 2026-06-12 21:50 UTC (permalink / raw)
  To: Rafael J. Wysocki, Daniel Lezcano, Zhang Rui, Lukasz Luba
  Cc: linux-pm, linux-kernel

The thermal-zone binding defines "temperature" as a signed int32
value and "hysteresis" as an unsigned int32 value. Using helpers with
matching types avoids dt_property_check mismatches and preserves the
signed interpretation needed for trips below zero.

Read "temperature" with the signed helper and keep "hysteresis" on the
unsigned helper using separate typed temporaries before storing them in
the trip structure.

Assisted-by: Codex:gpt-5-5
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
---
 drivers/thermal/thermal_of.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/drivers/thermal/thermal_of.c b/drivers/thermal/thermal_of.c
index 99085c806a1f..196cb29afae9 100644
--- a/drivers/thermal/thermal_of.c
+++ b/drivers/thermal/thermal_of.c
@@ -63,22 +63,23 @@ static int thermal_of_get_trip_type(struct device_node *np,
 static int thermal_of_populate_trip(struct device_node *np,
 				    struct thermal_trip *trip)
 {
-	int prop;
+	u32 hysteresis;
+	s32 temperature;
 	int ret;
 
-	ret = of_property_read_u32(np, "temperature", &prop);
+	ret = of_property_read_s32(np, "temperature", &temperature);
 	if (ret < 0) {
 		pr_err("missing temperature property\n");
 		return ret;
 	}
-	trip->temperature = prop;
+	trip->temperature = temperature;
 
-	ret = of_property_read_u32(np, "hysteresis", &prop);
+	ret = of_property_read_u32(np, "hysteresis", &hysteresis);
 	if (ret < 0) {
 		pr_err("missing hysteresis property\n");
 		return ret;
 	}
-	trip->hysteresis = prop;
+	trip->hysteresis = hysteresis;
 
 	ret = thermal_of_get_trip_type(np, &trip->type);
 	if (ret < 0) {
-- 
2.53.0


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] thermal: of: Match trip property helper types
  2026-06-12 21:50 [PATCH] thermal: of: Match trip property helper types Rob Herring (Arm)
@ 2026-06-15  8:11 ` Lukasz Luba
  2026-08-17 23:25 ` Rob Herring
  1 sibling, 0 replies; 3+ messages in thread
From: Lukasz Luba @ 2026-06-15  8:11 UTC (permalink / raw)
  To: Rob Herring (Arm), Rafael J. Wysocki, Daniel Lezcano, Zhang Rui
  Cc: linux-pm, linux-kernel



On 6/12/26 22:50, Rob Herring (Arm) wrote:
> The thermal-zone binding defines "temperature" as a signed int32
> value and "hysteresis" as an unsigned int32 value. Using helpers with
> matching types avoids dt_property_check mismatches and preserves the
> signed interpretation needed for trips below zero.
> 
> Read "temperature" with the signed helper and keep "hysteresis" on the
> unsigned helper using separate typed temporaries before storing them in
> the trip structure.
> 
> Assisted-by: Codex:gpt-5-5
> Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
> ---
>   drivers/thermal/thermal_of.c | 11 ++++++-----
>   1 file changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/thermal/thermal_of.c b/drivers/thermal/thermal_of.c
> index 99085c806a1f..196cb29afae9 100644
> --- a/drivers/thermal/thermal_of.c
> +++ b/drivers/thermal/thermal_of.c
> @@ -63,22 +63,23 @@ static int thermal_of_get_trip_type(struct device_node *np,
>   static int thermal_of_populate_trip(struct device_node *np,
>   				    struct thermal_trip *trip)
>   {
> -	int prop;
> +	u32 hysteresis;
> +	s32 temperature;
>   	int ret;
>   
> -	ret = of_property_read_u32(np, "temperature", &prop);
> +	ret = of_property_read_s32(np, "temperature", &temperature);
>   	if (ret < 0) {
>   		pr_err("missing temperature property\n");
>   		return ret;
>   	}
> -	trip->temperature = prop;
> +	trip->temperature = temperature;
>   
> -	ret = of_property_read_u32(np, "hysteresis", &prop);
> +	ret = of_property_read_u32(np, "hysteresis", &hysteresis);
>   	if (ret < 0) {
>   		pr_err("missing hysteresis property\n");
>   		return ret;
>   	}
> -	trip->hysteresis = prop;
> +	trip->hysteresis = hysteresis;
>   
>   	ret = thermal_of_get_trip_type(np, &trip->type);
>   	if (ret < 0) {


Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] thermal: of: Match trip property helper types
  2026-06-12 21:50 [PATCH] thermal: of: Match trip property helper types Rob Herring (Arm)
  2026-06-15  8:11 ` Lukasz Luba
@ 2026-08-17 23:25 ` Rob Herring
  1 sibling, 0 replies; 3+ messages in thread
From: Rob Herring @ 2026-08-17 23:25 UTC (permalink / raw)
  To: Rafael J. Wysocki, Daniel Lezcano, Zhang Rui, Lukasz Luba
  Cc: linux-pm, linux-kernel

On Fri, Jun 12, 2026 at 4:50 PM Rob Herring (Arm) <robh@kernel.org> wrote:
>
> The thermal-zone binding defines "temperature" as a signed int32
> value and "hysteresis" as an unsigned int32 value. Using helpers with
> matching types avoids dt_property_check mismatches and preserves the
> signed interpretation needed for trips below zero.
>
> Read "temperature" with the signed helper and keep "hysteresis" on the
> unsigned helper using separate typed temporaries before storing them in
> the trip structure.
>
> Assisted-by: Codex:gpt-5-5
> Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
> ---
>  drivers/thermal/thermal_of.c | 11 ++++++-----
>  1 file changed, 6 insertions(+), 5 deletions(-)

Ping

>
> diff --git a/drivers/thermal/thermal_of.c b/drivers/thermal/thermal_of.c
> index 99085c806a1f..196cb29afae9 100644
> --- a/drivers/thermal/thermal_of.c
> +++ b/drivers/thermal/thermal_of.c
> @@ -63,22 +63,23 @@ static int thermal_of_get_trip_type(struct device_node *np,
>  static int thermal_of_populate_trip(struct device_node *np,
>                                     struct thermal_trip *trip)
>  {
> -       int prop;
> +       u32 hysteresis;
> +       s32 temperature;
>         int ret;
>
> -       ret = of_property_read_u32(np, "temperature", &prop);
> +       ret = of_property_read_s32(np, "temperature", &temperature);
>         if (ret < 0) {
>                 pr_err("missing temperature property\n");
>                 return ret;
>         }
> -       trip->temperature = prop;
> +       trip->temperature = temperature;
>
> -       ret = of_property_read_u32(np, "hysteresis", &prop);
> +       ret = of_property_read_u32(np, "hysteresis", &hysteresis);
>         if (ret < 0) {
>                 pr_err("missing hysteresis property\n");
>                 return ret;
>         }
> -       trip->hysteresis = prop;
> +       trip->hysteresis = hysteresis;
>
>         ret = thermal_of_get_trip_type(np, &trip->type);
>         if (ret < 0) {
> --
> 2.53.0
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-08-17 23:25 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-12 21:50 [PATCH] thermal: of: Match trip property helper types Rob Herring (Arm)
2026-06-15  8:11 ` Lukasz Luba
2026-08-17 23:25 ` Rob Herring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®