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

From: Rafael J. Wysocki
Date: Fri Oct 04 2024 - 16:12:29 EST


From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>

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@xxxxxxxxx>
---

This is a new iteration of

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

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);