Messages in this thread | | | From | "Rafael J. Wysocki" <> | Date | Fri, 13 May 2022 19:56:17 +0200 | Subject | Re: [PATCH v2 00/14] thermal OF rework |
| |
On Fri, May 13, 2022 at 7:23 PM Daniel Lezcano <daniel.lezcano@linaro.org> wrote: > > > Hi Rafael, > > if you are ok with this series, I'll pick it up. > > Is that ok ?
Give me some more time to look at it, please.
I'll respond in the first half of next week.
> 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
| |