[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <63f1c4a0-d2c6-8157-5da0-198c2d8d1013@linaro.org>
Date: Fri, 13 May 2022 19:23:45 +0200
From: Daniel Lezcano <daniel.lezcano@...aro.org>
To: Daniel Lezcano <daniel.lezcano@...exp.org>, rafael@...nel.org
Cc: khilman@...libre.com, abailon@...libre.com,
linux-pm@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 00/14] thermal OF rework
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
Powered by blists - more mailing lists