Messages in this thread | | | Date | Fri, 13 May 2022 19:23:45 +0200 | Subject | Re: [PATCH v2 00/14] thermal OF rework | From | Daniel Lezcano <> |
| |
Hi Rafael,
if you are ok with this series, I'll pick it up.
Is that ok ?
On 07/05/2022 14:54, Daniel Lezcano wrote: > The thermal framework initialization with the device tree appears to > be complicated and hard to make it to evolve. > > It contains duplication of almost the same thermal generic structures > and has an assymetric initialization making hard any kind of serious > changes for more complex features. One of them is the multiple sensors > support per thermal zone. > > In order to set the scene for the aforementioned feature with generic > code, we need to cleanup and rework the device tree initialization. > > However this rework is not obvious because of the multiple components > entering in the composition of a thermal zone and being initialized at > different moments. For instance, a cooling device can be initialized > before a sensor, so the thermal zones must exist before the cooling > device as well as the sensor. This asynchonous initialization forces > the thermal zone to be created with fake ops because they are > mandotory and build a list of cooling devices which is used to lookup > afterwards when the cooling device driver is registering itself. > > As there could be a large number of changes, this first series provide > some steps forward for a simpler device tree initialization. > > Changelog: > - V2: > - Drop patch 1/15 which contains too many changes for a simple > structure renaming. This could be addressed in a separate series as > it is not necessary for the OF rework > > - Fixed of_node_put with gchild not initialized as reported by > kbuild and Dan Carpenter > > - V1: > - Initial post > > Daniel Lezcano (14): > thermal/core: Change thermal_zone_ops to thermal_sensor_ops > thermal/core: Add a thermal sensor structure in the thermal zone > thermal/core: Remove duplicate information when an error occurs > thermal/of: Replace device node match with device node search > thermal/of: Remove the device node pointer for thermal_trip > thermal/of: Move thermal_trip structure to thermal.h > thermal/core: Remove unneeded EXPORT_SYMBOLS > thermal/core: Move thermal_set_delay_jiffies to static > thermal/core: Rename trips to ntrips > thermal/core: Add thermal_trip in thermal_zone > thermal/core: Register with the trip points > thermal/of: Store the trips in the thermal zone > thermal/of: Use thermal trips stored in the thermal zone > thermal/of: Initialize trip points separately > > .../driver-api/thermal/sysfs-api.rst | 2 +- > drivers/acpi/thermal.c | 6 +- > .../ethernet/chelsio/cxgb4/cxgb4_thermal.c | 2 +- > .../ethernet/mellanox/mlxsw/core_thermal.c | 6 +- > drivers/net/wireless/intel/iwlwifi/mvm/tt.c | 2 +- > drivers/platform/x86/acerhdf.c | 2 +- > drivers/power/supply/power_supply_core.c | 2 +- > drivers/thermal/armada_thermal.c | 2 +- > drivers/thermal/broadcom/bcm2835_thermal.c | 2 +- > drivers/thermal/da9062-thermal.c | 2 +- > drivers/thermal/dove_thermal.c | 2 +- > drivers/thermal/gov_bang_bang.c | 6 +- > drivers/thermal/gov_fair_share.c | 10 +- > drivers/thermal/gov_power_allocator.c | 22 +- > drivers/thermal/gov_step_wise.c | 4 +- > drivers/thermal/imx_thermal.c | 2 +- > .../intel/int340x_thermal/int3400_thermal.c | 2 +- > .../int340x_thermal/int340x_thermal_zone.c | 6 +- > .../int340x_thermal/int340x_thermal_zone.h | 4 +- > .../processor_thermal_device.c | 4 +- > .../processor_thermal_device_pci.c | 2 +- > drivers/thermal/intel/intel_pch_thermal.c | 2 +- > .../thermal/intel/intel_quark_dts_thermal.c | 2 +- > drivers/thermal/intel/intel_soc_dts_iosf.c | 2 +- > drivers/thermal/intel/x86_pkg_temp_thermal.c | 2 +- > drivers/thermal/kirkwood_thermal.c | 2 +- > drivers/thermal/rcar_gen3_thermal.c | 6 +- > drivers/thermal/rcar_thermal.c | 4 +- > drivers/thermal/samsung/exynos_tmu.c | 6 +- > drivers/thermal/spear_thermal.c | 2 +- > drivers/thermal/st/st_thermal.c | 2 +- > drivers/thermal/tegra/soctherm.c | 10 +- > drivers/thermal/tegra/tegra30-tsensor.c | 6 +- > drivers/thermal/thermal_core.c | 102 ++++---- > drivers/thermal/thermal_core.h | 25 +- > drivers/thermal/thermal_helpers.c | 35 ++- > drivers/thermal/thermal_hwmon.c | 4 +- > drivers/thermal/thermal_netlink.c | 10 +- > drivers/thermal/thermal_of.c | 221 ++++++++++-------- > drivers/thermal/thermal_sysfs.c | 62 ++--- > include/linux/thermal.h | 34 ++- > 41 files changed, 341 insertions(+), 290 deletions(-) >
-- <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog
| |