thermal: core: Add governor callback for thermal zone change
authorLukasz Luba <lukasz.luba@arm.com>
Wed, 20 Dec 2023 23:17:45 +0000 (23:17 +0000)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 29 Dec 2023 17:01:00 +0000 (18:01 +0100)
commita8c959402d4dd6823918b33828d79900ae58c700
tree3dff402f5da641674c96d3f1ea629402b0fbe701
parent04c3b03044034ce50886f2c0d1c595ff25f45085
thermal: core: Add governor callback for thermal zone change

Add a new callback to the struct thermal_governor. It can be used for
updating governors when there is a change in the thermal zone internals,
e.g. thermal cooling device is bind to the thermal zone.

That makes possible to move some heavy operations like memory allocations
related to the number of cooling instances out of the throttle() callback.

Both callback code paths (throttle() and update_tz()) are protected with
the same thermal zone lock, which guaranties the consistency.

Signed-off-by: Lukasz Luba <lukasz.luba@arm.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/thermal/thermal_core.c
drivers/thermal/thermal_core.h
include/linux/thermal.h