diff mbox series

[v2,01/12] thermal: core: Initialize thermal zones before registering them

Message ID 3336146.44csPzL39Z@rjwysocki.net
State New
Headers show
Series thermal: core: Fixes and cleanups, mostly related to thermal zone init and exit | expand

Commit Message

Rafael J. Wysocki Oct. 4, 2024, 7:05 p.m. UTC
From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

Since user space can start interacting with a new thermal zone as soon
as device_register() called by thermal_zone_device_register_with_trips()
returns, it is better to initialize the thermal zone before calling
device_register() on it.

Fixes: d0df264fbd3c ("thermal/core: Remove pointless thermal_zone_device_reset() function")
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---

This is a new iteration of

https://lore.kernel.org/linux-pm/10527854.nUPlyArG6x@rjwysocki.net/

v1 -> v2: Fix typo in the subject

---
 drivers/thermal/thermal_core.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Lukasz Luba Oct. 21, 2024, 10:16 p.m. UTC | #1
On 10/4/24 20:05, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> 
> Since user space can start interacting with a new thermal zone as soon
> as device_register() called by thermal_zone_device_register_with_trips()
> returns, it is better to initialize the thermal zone before calling
> device_register() on it.
> 
> Fixes: d0df264fbd3c ("thermal/core: Remove pointless thermal_zone_device_reset() function")
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> ---
> 
> This is a new iteration of
> 
> https://lore.kernel.org/linux-pm/10527854.nUPlyArG6x@rjwysocki.net/
> 
> v1 -> v2: Fix typo in the subject
> 
> ---
>   drivers/thermal/thermal_core.c |    2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> Index: linux-pm/drivers/thermal/thermal_core.c
> ===================================================================
> --- linux-pm.orig/drivers/thermal/thermal_core.c
> +++ linux-pm/drivers/thermal/thermal_core.c
> @@ -1465,6 +1465,7 @@ thermal_zone_device_register_with_trips(
>   		thermal_zone_destroy_device_groups(tz);
>   		goto remove_id;
>   	}
> +	thermal_zone_device_init(tz);
>   	result = device_register(&tz->device);
>   	if (result)
>   		goto release_device;
> @@ -1503,7 +1504,6 @@ thermal_zone_device_register_with_trips(
>   
>   	mutex_unlock(&thermal_list_lock);
>   
> -	thermal_zone_device_init(tz);
>   	/* Update the new thermal zone and mark it as already updated. */
>   	if (atomic_cmpxchg(&tz->need_update, 1, 0))
>   		thermal_zone_device_update(tz, THERMAL_EVENT_UNSPECIFIED);
> 
> 
> 

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

Patch

Index: linux-pm/drivers/thermal/thermal_core.c
===================================================================
--- linux-pm.orig/drivers/thermal/thermal_core.c
+++ linux-pm/drivers/thermal/thermal_core.c
@@ -1465,6 +1465,7 @@  thermal_zone_device_register_with_trips(
 		thermal_zone_destroy_device_groups(tz);
 		goto remove_id;
 	}
+	thermal_zone_device_init(tz);
 	result = device_register(&tz->device);
 	if (result)
 		goto release_device;
@@ -1503,7 +1504,6 @@  thermal_zone_device_register_with_trips(
 
 	mutex_unlock(&thermal_list_lock);
 
-	thermal_zone_device_init(tz);
 	/* Update the new thermal zone and mark it as already updated. */
 	if (atomic_cmpxchg(&tz->need_update, 1, 0))
 		thermal_zone_device_update(tz, THERMAL_EVENT_UNSPECIFIED);