thermal: Hunt zero trip points thermal zones usage

Message ID 20230203175832.3406504-1-daniel.lezcano@linaro.org
State New
Headers
Series thermal: Hunt zero trip points thermal zones usage |

Commit Message

Daniel Lezcano Feb. 3, 2023, 5:58 p.m. UTC
  Some drivers are declaring a thermal zone without any thermal trip
points.

On the other side, we are introducing the function
thermal_zone_device_register_with_trips() which provides an array of
generic thermal trip points. When all the drivers will be converted to
the generic trip points, keeping two functions will be useless.

Most of the drivers are now using
thermal_zone_device_register_with_trips() with the generic trip
points. As soon as the remaining drivers are merged, the
thermal_zone_device_register_with_trips() will be renamed to
thermal_zone_device_register().

Obviously this renaming can only happen if there are no more user of
the thermal_zone_device_register() function.

This change uses thermal_zone_device_register_with_trips() with a NULL
parameter for the trip point array instead of
thermal_zone_device_register().

No functional change intended.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
---
 drivers/power/supply/power_supply_core.c                | 2 +-
 drivers/thermal/armada_thermal.c                        | 4 ++--
 drivers/thermal/dove_thermal.c                          | 4 ++--
 drivers/thermal/intel/int340x_thermal/int3400_thermal.c | 6 +++---
 drivers/thermal/kirkwood_thermal.c                      | 4 ++--
 drivers/thermal/spear_thermal.c                         | 5 +++--
 6 files changed, 13 insertions(+), 12 deletions(-)
  

Comments

Miquel Raynal Feb. 3, 2023, 6:08 p.m. UTC | #1
Hi Daniel,

daniel.lezcano@linaro.org wrote on Fri,  3 Feb 2023 18:58:31 +0100:

> Some drivers are declaring a thermal zone without any thermal trip
> points.
> 
> On the other side, we are introducing the function
> thermal_zone_device_register_with_trips() which provides an array of
> generic thermal trip points. When all the drivers will be converted to
> the generic trip points, keeping two functions will be useless.
> 
> Most of the drivers are now using
> thermal_zone_device_register_with_trips() with the generic trip
> points. As soon as the remaining drivers are merged, the
> thermal_zone_device_register_with_trips() will be renamed to
> thermal_zone_device_register().
> 
> Obviously this renaming can only happen if there are no more user of
> the thermal_zone_device_register() function.
> 
> This change uses thermal_zone_device_register_with_trips() with a NULL
> parameter for the trip point array instead of
> thermal_zone_device_register().
> 
> No functional change intended.
> 
> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
> ---
>  drivers/power/supply/power_supply_core.c                | 2 +-
>  drivers/thermal/armada_thermal.c                        | 4 ++--
>  drivers/thermal/dove_thermal.c                          | 4 ++--
>  drivers/thermal/intel/int340x_thermal/int3400_thermal.c | 6 +++---
>  drivers/thermal/kirkwood_thermal.c                      | 4 ++--
>  drivers/thermal/spear_thermal.c                         | 5 +++--
>  6 files changed, 13 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/power/supply/power_supply_core.c b/drivers/power/supply/power_supply_core.c
> index 7c790c41e2fe..208a849a71d9 100644
> --- a/drivers/power/supply/power_supply_core.c
> +++ b/drivers/power/supply/power_supply_core.c
> @@ -1166,7 +1166,7 @@ static int psy_register_thermal(struct power_supply *psy)
>  
>  	/* Register battery zone device psy reports temperature */
>  	if (psy_has_property(psy->desc, POWER_SUPPLY_PROP_TEMP)) {
> -		psy->tzd = thermal_zone_device_register(psy->desc->name,
> +		psy->tzd = thermal_zone_device_register_with_trips(psy->desc->name, NULL,
>  				0, 0, psy, &psy_tzd_ops, NULL, 0, 0);
>  		if (IS_ERR(psy->tzd))
>  			return PTR_ERR(psy->tzd);
> diff --git a/drivers/thermal/armada_thermal.c b/drivers/thermal/armada_thermal.c
> index 99e86484a55c..83a4080bffc7 100644
> --- a/drivers/thermal/armada_thermal.c
> +++ b/drivers/thermal/armada_thermal.c
> @@ -856,8 +856,8 @@ static int armada_thermal_probe(struct platform_device *pdev)
>  		/* Wait the sensors to be valid */
>  		armada_wait_sensor_validity(priv);
>  
> -		tz = thermal_zone_device_register(priv->zone_name, 0, 0, priv,
> -						  &legacy_ops, NULL, 0, 0);
> +		tz = thermal_zone_device_register_with_trips(priv->zone_name, NULL, 0, 0, priv,
> +							     &legacy_ops, NULL, 0, 0);
>  		if (IS_ERR(tz)) {
>  			dev_err(&pdev->dev,
>  				"Failed to register thermal zone device\n");

Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>

Thanks,
Miquèl
  
Daniel Lezcano Feb. 6, 2023, 2:56 p.m. UTC | #2
On 03/02/2023 18:58, Daniel Lezcano wrote:
> Some drivers are declaring a thermal zone without any thermal trip
> points.
> 
> On the other side, we are introducing the function
> thermal_zone_device_register_with_trips() which provides an array of
> generic thermal trip points. When all the drivers will be converted to
> the generic trip points, keeping two functions will be useless.
> 
> Most of the drivers are now using
> thermal_zone_device_register_with_trips() with the generic trip
> points. As soon as the remaining drivers are merged, the
> thermal_zone_device_register_with_trips() will be renamed to
> thermal_zone_device_register().
> 
> Obviously this renaming can only happen if there are no more user of
> the thermal_zone_device_register() function.
> 
> This change uses thermal_zone_device_register_with_trips() with a NULL
> parameter for the trip point array instead of
> thermal_zone_device_register().
> 
> No functional change intended.
> 
> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
> ---
>   drivers/power/supply/power_supply_core.c                | 2 +-

Sebastian,

are ok with this change and if it goes through the thermal tree ?


>   drivers/thermal/armada_thermal.c                        | 4 ++--
>   drivers/thermal/dove_thermal.c                          | 4 ++--
>   drivers/thermal/intel/int340x_thermal/int3400_thermal.c | 6 +++---
>   drivers/thermal/kirkwood_thermal.c                      | 4 ++--
>   drivers/thermal/spear_thermal.c                         | 5 +++--
>   6 files changed, 13 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/power/supply/power_supply_core.c b/drivers/power/supply/power_supply_core.c
> index 7c790c41e2fe..208a849a71d9 100644
> --- a/drivers/power/supply/power_supply_core.c
> +++ b/drivers/power/supply/power_supply_core.c
> @@ -1166,7 +1166,7 @@ static int psy_register_thermal(struct power_supply *psy)
>   
>   	/* Register battery zone device psy reports temperature */
>   	if (psy_has_property(psy->desc, POWER_SUPPLY_PROP_TEMP)) {
> -		psy->tzd = thermal_zone_device_register(psy->desc->name,
> +		psy->tzd = thermal_zone_device_register_with_trips(psy->desc->name, NULL,
>   				0, 0, psy, &psy_tzd_ops, NULL, 0, 0);
>   		if (IS_ERR(psy->tzd))
>   			return PTR_ERR(psy->tzd);
> diff --git a/drivers/thermal/armada_thermal.c b/drivers/thermal/armada_thermal.c
> index 99e86484a55c..83a4080bffc7 100644
> --- a/drivers/thermal/armada_thermal.c
> +++ b/drivers/thermal/armada_thermal.c
> @@ -856,8 +856,8 @@ static int armada_thermal_probe(struct platform_device *pdev)
>   		/* Wait the sensors to be valid */
>   		armada_wait_sensor_validity(priv);
>   
> -		tz = thermal_zone_device_register(priv->zone_name, 0, 0, priv,
> -						  &legacy_ops, NULL, 0, 0);
> +		tz = thermal_zone_device_register_with_trips(priv->zone_name, NULL, 0, 0, priv,
> +							     &legacy_ops, NULL, 0, 0);
>   		if (IS_ERR(tz)) {
>   			dev_err(&pdev->dev,
>   				"Failed to register thermal zone device\n");
> diff --git a/drivers/thermal/dove_thermal.c b/drivers/thermal/dove_thermal.c
> index 056622a58d00..fce15af5a7f6 100644
> --- a/drivers/thermal/dove_thermal.c
> +++ b/drivers/thermal/dove_thermal.c
> @@ -142,8 +142,8 @@ static int dove_thermal_probe(struct platform_device *pdev)
>   		return ret;
>   	}
>   
> -	thermal = thermal_zone_device_register("dove_thermal", 0, 0,
> -					       priv, &ops, NULL, 0, 0);
> +	thermal = thermal_zone_device_register_with_trips("dove_thermal", NULL, 0, 0,
> +							  priv, &ops, NULL, 0, 0);
>   	if (IS_ERR(thermal)) {
>   		dev_err(&pdev->dev,
>   			"Failed to register thermal zone device\n");
> diff --git a/drivers/thermal/intel/int340x_thermal/int3400_thermal.c b/drivers/thermal/intel/int340x_thermal/int3400_thermal.c
> index d0295123cc3e..dac60b6a281c 100644
> --- a/drivers/thermal/intel/int340x_thermal/int3400_thermal.c
> +++ b/drivers/thermal/intel/int340x_thermal/int3400_thermal.c
> @@ -609,9 +609,9 @@ static int int3400_thermal_probe(struct platform_device *pdev)
>   
>   	evaluate_odvp(priv);
>   
> -	priv->thermal = thermal_zone_device_register("INT3400 Thermal", 0, 0,
> -						priv, &int3400_thermal_ops,
> -						&int3400_thermal_params, 0, 0);
> +	priv->thermal = thermal_zone_device_register_with_trips("INT3400 Thermal", NULL, 0, 0,
> +								priv, &int3400_thermal_ops,
> +								&int3400_thermal_params, 0, 0);
>   	if (IS_ERR(priv->thermal)) {
>   		result = PTR_ERR(priv->thermal);
>   		goto free_art_trt;
> diff --git a/drivers/thermal/kirkwood_thermal.c b/drivers/thermal/kirkwood_thermal.c
> index bec7ec20e79d..4506b7dfb474 100644
> --- a/drivers/thermal/kirkwood_thermal.c
> +++ b/drivers/thermal/kirkwood_thermal.c
> @@ -74,8 +74,8 @@ static int kirkwood_thermal_probe(struct platform_device *pdev)
>   	if (IS_ERR(priv->sensor))
>   		return PTR_ERR(priv->sensor);
>   
> -	thermal = thermal_zone_device_register("kirkwood_thermal", 0, 0,
> -					       priv, &ops, NULL, 0, 0);
> +	thermal = thermal_zone_device_register_with_trips("kirkwood_thermal", NULL, 0, 0,
> +							  priv, &ops, NULL, 0, 0);
>   	if (IS_ERR(thermal)) {
>   		dev_err(&pdev->dev,
>   			"Failed to register thermal zone device\n");
> diff --git a/drivers/thermal/spear_thermal.c b/drivers/thermal/spear_thermal.c
> index 6a722b10d738..0d20bc9c5c0b 100644
> --- a/drivers/thermal/spear_thermal.c
> +++ b/drivers/thermal/spear_thermal.c
> @@ -122,8 +122,9 @@ static int spear_thermal_probe(struct platform_device *pdev)
>   	stdev->flags = val;
>   	writel_relaxed(stdev->flags, stdev->thermal_base);
>   
> -	spear_thermal = thermal_zone_device_register("spear_thermal", 0, 0,
> -				stdev, &ops, NULL, 0, 0);
> +	spear_thermal = thermal_zone_device_register_with_trips("spear_thermal",
> +								NULL, 0, 0,
> +								stdev, &ops, NULL, 0, 0);
>   	if (IS_ERR(spear_thermal)) {
>   		dev_err(&pdev->dev, "thermal zone device is NULL\n");
>   		ret = PTR_ERR(spear_thermal);
  
Rafael J. Wysocki Feb. 6, 2023, 4:08 p.m. UTC | #3
On Fri, Feb 3, 2023 at 6:59 PM Daniel Lezcano <daniel.lezcano@linaro.org> wrote:
>
> Some drivers are declaring a thermal zone without any thermal trip
> points.
>
> On the other side, we are introducing the function
> thermal_zone_device_register_with_trips() which provides an array of
> generic thermal trip points. When all the drivers will be converted to
> the generic trip points, keeping two functions will be useless.
>
> Most of the drivers are now using
> thermal_zone_device_register_with_trips() with the generic trip
> points. As soon as the remaining drivers are merged, the
> thermal_zone_device_register_with_trips() will be renamed to
> thermal_zone_device_register().

So why is this the first time I'm learning about this plan?

> Obviously this renaming can only happen if there are no more user of
> the thermal_zone_device_register() function.
>
> This change uses thermal_zone_device_register_with_trips() with a NULL
> parameter for the trip point array instead of
> thermal_zone_device_register().

And later it will be renamed to thermal_zone_device_register() again?

Can we just stop confusing people this way?

What would be wrong with changing both
thermal_zone_device_register_with_trips() and
thermal_zone_device_register() together when we are ready?  And why
can't the both be replaced with something line thermal_zone_register()
doing all of the necessary things in one go?  Why do we have to make
confusing and redundant changes?
  
Rafael J. Wysocki Feb. 6, 2023, 5:28 p.m. UTC | #4
On Mon, Feb 6, 2023 at 5:08 PM Rafael J. Wysocki <rafael@kernel.org> wrote:
>
> On Fri, Feb 3, 2023 at 6:59 PM Daniel Lezcano <daniel.lezcano@linaro.org> wrote:
> >
> > Some drivers are declaring a thermal zone without any thermal trip
> > points.
> >
> > On the other side, we are introducing the function
> > thermal_zone_device_register_with_trips() which provides an array of
> > generic thermal trip points. When all the drivers will be converted to
> > the generic trip points, keeping two functions will be useless.
> >
> > Most of the drivers are now using
> > thermal_zone_device_register_with_trips() with the generic trip
> > points. As soon as the remaining drivers are merged, the
> > thermal_zone_device_register_with_trips() will be renamed to
> > thermal_zone_device_register().
>
> So why is this the first time I'm learning about this plan?
>
> > Obviously this renaming can only happen if there are no more user of
> > the thermal_zone_device_register() function.
> >
> > This change uses thermal_zone_device_register_with_trips() with a NULL
> > parameter for the trip point array instead of
> > thermal_zone_device_register().
>
> And later it will be renamed to thermal_zone_device_register() again?
>
> Can we just stop confusing people this way?
>
> What would be wrong with changing both
> thermal_zone_device_register_with_trips() and
> thermal_zone_device_register() together when we are ready?  And why
> can't the both be replaced with something line thermal_zone_register()
> doing all of the necessary things in one go?  Why do we have to make
> confusing and redundant changes?

Or you can define a thermal_register_tripless_zone() wrapper around
thermal_zone_device_register_with_trips() and make the drivers in
question use that, and modify them just once.
  
Daniel Lezcano Feb. 6, 2023, 6 p.m. UTC | #5
On 06/02/2023 17:08, Rafael J. Wysocki wrote:
> On Fri, Feb 3, 2023 at 6:59 PM Daniel Lezcano <daniel.lezcano@linaro.org> wrote:
>>
>> Some drivers are declaring a thermal zone without any thermal trip
>> points.
>>
>> On the other side, we are introducing the function
>> thermal_zone_device_register_with_trips() which provides an array of
>> generic thermal trip points. When all the drivers will be converted to
>> the generic trip points, keeping two functions will be useless.
>>
>> Most of the drivers are now using
>> thermal_zone_device_register_with_trips() with the generic trip
>> points. As soon as the remaining drivers are merged, the
>> thermal_zone_device_register_with_trips() will be renamed to
>> thermal_zone_device_register().
> 
> So why is this the first time I'm learning about this plan?

Well it is not a plan, it looked purely logical to me that the 
_with_trips variant was added to support the generic trip points in 
addition to the specific trips. As soon as all the drivers are 
converted, there is no need to have these two functions anymore and we 
can fall back to the previous name (or a shorter one).

>> Obviously this renaming can only happen if there are no more user of
>> the thermal_zone_device_register() function.
>>
>> This change uses thermal_zone_device_register_with_trips() with a NULL
>> parameter for the trip point array instead of
>> thermal_zone_device_register().
> 
> And later it will be renamed to thermal_zone_device_register() again?

Yes, that was the idea, unify the name and then use a cocci script to 
rename them all.

> Can we just stop confusing people this way?
> 
> What would be wrong with changing both
> thermal_zone_device_register_with_trips() and
> thermal_zone_device_register() together when we are ready?  And why
> can't the both be replaced with something line thermal_zone_register()
> doing all of the necessary things in one go?  Why do we have to make
> confusing and redundant changes?

For me the result will be the same, if you prefer to wait for all the 
drivers to be converted then it is fine for me.
  
Rafael J. Wysocki Feb. 6, 2023, 6:13 p.m. UTC | #6
On Mon, Feb 6, 2023 at 7:00 PM Daniel Lezcano <daniel.lezcano@linaro.org> wrote:
>
> On 06/02/2023 17:08, Rafael J. Wysocki wrote:
> > On Fri, Feb 3, 2023 at 6:59 PM Daniel Lezcano <daniel.lezcano@linaro.org> wrote:
> >>
> >> Some drivers are declaring a thermal zone without any thermal trip
> >> points.
> >>
> >> On the other side, we are introducing the function
> >> thermal_zone_device_register_with_trips() which provides an array of
> >> generic thermal trip points. When all the drivers will be converted to
> >> the generic trip points, keeping two functions will be useless.
> >>
> >> Most of the drivers are now using
> >> thermal_zone_device_register_with_trips() with the generic trip
> >> points. As soon as the remaining drivers are merged, the
> >> thermal_zone_device_register_with_trips() will be renamed to
> >> thermal_zone_device_register().
> >
> > So why is this the first time I'm learning about this plan?
>
> Well it is not a plan, it looked purely logical to me that the
> _with_trips variant was added to support the generic trip points in
> addition to the specific trips. As soon as all the drivers are
> converted, there is no need to have these two functions anymore and we
> can fall back to the previous name (or a shorter one).
>
> >> Obviously this renaming can only happen if there are no more user of
> >> the thermal_zone_device_register() function.
> >>
> >> This change uses thermal_zone_device_register_with_trips() with a NULL
> >> parameter for the trip point array instead of
> >> thermal_zone_device_register().
> >
> > And later it will be renamed to thermal_zone_device_register() again?
>
> Yes, that was the idea, unify the name and then use a cocci script to
> rename them all.
>
> > Can we just stop confusing people this way?
> >
> > What would be wrong with changing both
> > thermal_zone_device_register_with_trips() and
> > thermal_zone_device_register() together when we are ready?  And why
> > can't the both be replaced with something line thermal_zone_register()
> > doing all of the necessary things in one go?  Why do we have to make
> > confusing and redundant changes?
>
> For me the result will be the same, if you prefer to wait for all the
> drivers to be converted then it is fine for me.

Yes, please.
  
Sebastian Reichel Feb. 13, 2023, 8:49 p.m. UTC | #7
Hi,

On Fri, Feb 03, 2023 at 06:58:31PM +0100, Daniel Lezcano wrote:
> Some drivers are declaring a thermal zone without any thermal trip
> points.
> 
> On the other side, we are introducing the function
> thermal_zone_device_register_with_trips() which provides an array of
> generic thermal trip points. When all the drivers will be converted to
> the generic trip points, keeping two functions will be useless.
> 
> Most of the drivers are now using
> thermal_zone_device_register_with_trips() with the generic trip
> points. As soon as the remaining drivers are merged, the
> thermal_zone_device_register_with_trips() will be renamed to
> thermal_zone_device_register().
> 
> Obviously this renaming can only happen if there are no more user of
> the thermal_zone_device_register() function.
> 
> This change uses thermal_zone_device_register_with_trips() with a NULL
> parameter for the trip point array instead of
> thermal_zone_device_register().
> 
> No functional change intended.
> 
> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
> ---
>  drivers/power/supply/power_supply_core.c                | 2 +-

Acked-by: Sebastian Reichel <sebastian.reichel@collabora.com>

[...]

> diff --git a/drivers/power/supply/power_supply_core.c b/drivers/power/supply/power_supply_core.c
> index 7c790c41e2fe..208a849a71d9 100644
> --- a/drivers/power/supply/power_supply_core.c
> +++ b/drivers/power/supply/power_supply_core.c
> @@ -1166,7 +1166,7 @@ static int psy_register_thermal(struct power_supply *psy)
>  
>  	/* Register battery zone device psy reports temperature */
>  	if (psy_has_property(psy->desc, POWER_SUPPLY_PROP_TEMP)) {
> -		psy->tzd = thermal_zone_device_register(psy->desc->name,
> +		psy->tzd = thermal_zone_device_register_with_trips(psy->desc->name, NULL,
>  				0, 0, psy, &psy_tzd_ops, NULL, 0, 0);
>  		if (IS_ERR(psy->tzd))
>  			return PTR_ERR(psy->tzd);

[...]

-- Sebastian
  

Patch

diff --git a/drivers/power/supply/power_supply_core.c b/drivers/power/supply/power_supply_core.c
index 7c790c41e2fe..208a849a71d9 100644
--- a/drivers/power/supply/power_supply_core.c
+++ b/drivers/power/supply/power_supply_core.c
@@ -1166,7 +1166,7 @@  static int psy_register_thermal(struct power_supply *psy)
 
 	/* Register battery zone device psy reports temperature */
 	if (psy_has_property(psy->desc, POWER_SUPPLY_PROP_TEMP)) {
-		psy->tzd = thermal_zone_device_register(psy->desc->name,
+		psy->tzd = thermal_zone_device_register_with_trips(psy->desc->name, NULL,
 				0, 0, psy, &psy_tzd_ops, NULL, 0, 0);
 		if (IS_ERR(psy->tzd))
 			return PTR_ERR(psy->tzd);
diff --git a/drivers/thermal/armada_thermal.c b/drivers/thermal/armada_thermal.c
index 99e86484a55c..83a4080bffc7 100644
--- a/drivers/thermal/armada_thermal.c
+++ b/drivers/thermal/armada_thermal.c
@@ -856,8 +856,8 @@  static int armada_thermal_probe(struct platform_device *pdev)
 		/* Wait the sensors to be valid */
 		armada_wait_sensor_validity(priv);
 
-		tz = thermal_zone_device_register(priv->zone_name, 0, 0, priv,
-						  &legacy_ops, NULL, 0, 0);
+		tz = thermal_zone_device_register_with_trips(priv->zone_name, NULL, 0, 0, priv,
+							     &legacy_ops, NULL, 0, 0);
 		if (IS_ERR(tz)) {
 			dev_err(&pdev->dev,
 				"Failed to register thermal zone device\n");
diff --git a/drivers/thermal/dove_thermal.c b/drivers/thermal/dove_thermal.c
index 056622a58d00..fce15af5a7f6 100644
--- a/drivers/thermal/dove_thermal.c
+++ b/drivers/thermal/dove_thermal.c
@@ -142,8 +142,8 @@  static int dove_thermal_probe(struct platform_device *pdev)
 		return ret;
 	}
 
-	thermal = thermal_zone_device_register("dove_thermal", 0, 0,
-					       priv, &ops, NULL, 0, 0);
+	thermal = thermal_zone_device_register_with_trips("dove_thermal", NULL, 0, 0,
+							  priv, &ops, NULL, 0, 0);
 	if (IS_ERR(thermal)) {
 		dev_err(&pdev->dev,
 			"Failed to register thermal zone device\n");
diff --git a/drivers/thermal/intel/int340x_thermal/int3400_thermal.c b/drivers/thermal/intel/int340x_thermal/int3400_thermal.c
index d0295123cc3e..dac60b6a281c 100644
--- a/drivers/thermal/intel/int340x_thermal/int3400_thermal.c
+++ b/drivers/thermal/intel/int340x_thermal/int3400_thermal.c
@@ -609,9 +609,9 @@  static int int3400_thermal_probe(struct platform_device *pdev)
 
 	evaluate_odvp(priv);
 
-	priv->thermal = thermal_zone_device_register("INT3400 Thermal", 0, 0,
-						priv, &int3400_thermal_ops,
-						&int3400_thermal_params, 0, 0);
+	priv->thermal = thermal_zone_device_register_with_trips("INT3400 Thermal", NULL, 0, 0,
+								priv, &int3400_thermal_ops,
+								&int3400_thermal_params, 0, 0);
 	if (IS_ERR(priv->thermal)) {
 		result = PTR_ERR(priv->thermal);
 		goto free_art_trt;
diff --git a/drivers/thermal/kirkwood_thermal.c b/drivers/thermal/kirkwood_thermal.c
index bec7ec20e79d..4506b7dfb474 100644
--- a/drivers/thermal/kirkwood_thermal.c
+++ b/drivers/thermal/kirkwood_thermal.c
@@ -74,8 +74,8 @@  static int kirkwood_thermal_probe(struct platform_device *pdev)
 	if (IS_ERR(priv->sensor))
 		return PTR_ERR(priv->sensor);
 
-	thermal = thermal_zone_device_register("kirkwood_thermal", 0, 0,
-					       priv, &ops, NULL, 0, 0);
+	thermal = thermal_zone_device_register_with_trips("kirkwood_thermal", NULL, 0, 0,
+							  priv, &ops, NULL, 0, 0);
 	if (IS_ERR(thermal)) {
 		dev_err(&pdev->dev,
 			"Failed to register thermal zone device\n");
diff --git a/drivers/thermal/spear_thermal.c b/drivers/thermal/spear_thermal.c
index 6a722b10d738..0d20bc9c5c0b 100644
--- a/drivers/thermal/spear_thermal.c
+++ b/drivers/thermal/spear_thermal.c
@@ -122,8 +122,9 @@  static int spear_thermal_probe(struct platform_device *pdev)
 	stdev->flags = val;
 	writel_relaxed(stdev->flags, stdev->thermal_base);
 
-	spear_thermal = thermal_zone_device_register("spear_thermal", 0, 0,
-				stdev, &ops, NULL, 0, 0);
+	spear_thermal = thermal_zone_device_register_with_trips("spear_thermal",
+								NULL, 0, 0,
+								stdev, &ops, NULL, 0, 0);
 	if (IS_ERR(spear_thermal)) {
 		dev_err(&pdev->dev, "thermal zone device is NULL\n");
 		ret = PTR_ERR(spear_thermal);