Skip to contentSkip to conversation

thermal: sprd: Fix temperature clamping in sprd_thm_temp_to_rawdata

PATCH Superseded Thorsten Blum 2 participants 2 messages Dec 2, 2025 – Dec 3, 2025

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 thermal: sprd: Fix temperature clamping in sprd_thm_temp_to_rawdata

The temperature was never clamped to SPRD_THM_TEMP_LOW or SPRD_THM_TEMP_HIGH because the return value of clamp() was not used. Fix this by assigning the clamped value to 'temp'.

Casting SPRD_THM_TEMP_LOW and SPRD_THM_TEMP_HIGH to int is also redundant and can be removed.

Fixes 554fdbaf19b1 ("thermal: sprd: Add Spreadtrum thermal driver support")
---
 drivers/thermal/sprd_thermal.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/thermal/sprd_thermal.c +1 -1
index f7fa83b2428e..44fa45f74da7 100644
@@ -192,7 +192,7 @@ static int sprd_thm_temp_to_rawdata(int temp, struct sprd_thermal_sensor *sen)
 {
 	u32 val;
 
-	clamp(temp, (int)SPRD_THM_TEMP_LOW, (int)SPRD_THM_TEMP_HIGH);
+	temp = clamp(temp, SPRD_THM_TEMP_LOW, SPRD_THM_TEMP_HIGH);
 
 	/*
 	 * According to the thermal datasheet, the formula of converting
Signature · 2 lines
Thorsten Blum <[email protected]>
GPG: 1D60 735E 8AEF 3BE4 73B6  9D84 7336 78FD 8DFE EAD4
Reviewed-by on v1 1/1
#1 lore raw
Quoted 19 lines · Thorsten Blum

The temperature was never clamped to SPRD_THM_TEMP_LOW or SPRD_THM_TEMP_HIGH because the return value of clamp() was not used. Fix this by assigning the clamped value to 'temp'.

Casting SPRD_THM_TEMP_LOW and SPRD_THM_TEMP_HIGH to int is also redundant and can be removed.

Fixes 554fdbaf19b1 ("thermal: sprd: Add Spreadtrum thermal driver support")
---
  drivers/thermal/sprd_thermal.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
drivers/thermal/sprd_thermal.c +0 -0
index f7fa83b2428e..44fa45f74da7 100644

drivers/thermal/sprd_thermal.c static int sprd_thm_temp_to_rawdata(int temp, struct sprd_thermal_sensor *sen) · line 198

Quoted 8 lines
drivers/thermal/sprd_thermal.c +1 -1
@@ -192,7 +192,7 @@ static int sprd_thm_temp_to_rawdata(int temp, struct sprd_thermal_sensor *sen)
  {
  	u32 val;
 
-	clamp(temp, (int)SPRD_THM_TEMP_LOW, (int)SPRD_THM_TEMP_HIGH);
+	temp = clamp(temp, SPRD_THM_TEMP_LOW, SPRD_THM_TEMP_HIGH);
 
  	/*
  	 * According to the thermal datasheet, the formula of converting

Good catch. Thanks.