Re: [PATCH v3 00/32] New thermal OF code

From: Daniel Lezcano
Date: Wed Jul 27 2022 - 17:46:54 EST



Hi Rafael,

we are close to release v5.19.

I want to send a PR this week but it would be nice if this series could be part of it, so the trip point rework we discussed earlier (it is a long series) could be merged more easily for v5.21-rc1 as it will depend on these changes.

This series was tested on different platforms, rk3399, broadcom and rcar. The external drivers as ata, touchscreen, regulator, hwmon were acked/reviewed and some other thermal drivers reviewed also. Some others remain without feedback because the maintainer is unresponsive or the driver is orphaned, falling under the thermal framework maintenance umbrella. All the drivers changes are the same.

I do believe it does a nice cleanup and consolidation of the OF thermal code and realign it with the core thermal framework.

Is it ok to merge the series?


On 27/07/2022 23:02, Daniel Lezcano wrote:
The following changes are depending on:

- 20220722200007.1839356-1-daniel.lezcano@xxxxxxxxxx

which are present in the thermal/linux-next branch:

https://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux.git/log/?h=thermal/linux-next

The series introduces a new thermal OF code. The patch description gives
a detailed explanation of the changes. Basically we write new OF parsing
functions, we migrate all the users of the old thermal OF API to the new
one and then we finish by removing the old OF code.

That is the second step to rework the thermal OF code. More patches will
come after that to remove the duplication of the trip definitions in the
different drivers which will result in more code duplication removed and
consolidation of the core thermal framework.

Thanks for those who tested the series on their platform and
investigated the regression with the disabled by default thermal zones.

Changelog:
v3:
- Rebased on the right branch as reported by Niklas Söderlund
- Collected more tags
v2:
- Changed the code in the register thermal zone function to prevent
the 'const' annotation being removed in the different drivers
- Collected the tags and adding Cc for more context
- Changed the first line patch description to comply to the 'input'
subsystem format
- Give a more detailed description in the changelog for the drivers
- Remove pointless calls to unregister as the devm version is used
instead
- Moved dummy functions from one patch to another to prevent git
bisecting issue when THERMAL_OF=n
- Fixed thermal zone disabled by default

Daniel Lezcano (32):
thermal/of: Rework the thermal device tree initialization
thermal/of: Make new code and old code co-exist
thermal/drivers/rockchip: Switch to new of API
thermal/drivers/uniphier: Switch to new of API
thermal/drivers/generic-adc: Switch to new of API
thermal/drivers/mmio: Switch to new of API
thermal/drivers/tegra: Switch to new of API
thermal/drivers/sun8i: Switch to new of API
thermal/drivers/sprd: Switch to new of API
thermal/drivers/broadcom: Switch to new of API
thermal/drivers/qcom: Switch to new of API
thermal/drivers/st: Switch to new of API
thermal/drivers/amlogic: Switch to new of API
thermal/drivers/armada: Switch to new of API
thermal/drivers/db8500: Switch to new of API
thermal/drivers/imx: Switch to new of API
thermal/drivers/rcar: Switch to new of API
thermal/drivers/rzg2l: Switch to new of API
thermal/drivers/qoriq: Switch to new of API
thermal/drivers/mtk: Switch to new of API
thermal/drivers/banggap: Switch to new of API
thermal/drivers/maxim: Switch to new of API
thermal/drivers/hisilicon: Switch to new of API
thermal/drivers/ti-soc: Switch to new of API
ata/drivers/ahci_imx: Switch to new of thermal API
hwmon/drivers: Switch to new of thermal API
iio/drivers/sun4i_gpadc: Switch to new of thermal API
Input: sun4i-ts - switch to new of thermal API
regulator/drivers/max8976: Switch to new of thermal API
thermal/drivers/samsung: Switch to new of thermal API
thermal/core: Move set_trip_temp ops to the sysfs code
thermal/of: Remove old OF code

drivers/ata/ahci_imx.c | 15 +-
drivers/hwmon/hwmon.c | 14 +-
drivers/hwmon/scpi-hwmon.c | 14 +-
drivers/iio/adc/sun4i-gpadc-iio.c | 12 +-
drivers/input/touchscreen/sun4i-ts.c | 10 +-
drivers/regulator/max8973-regulator.c | 10 +-
drivers/thermal/amlogic_thermal.c | 16 +-
drivers/thermal/armada_thermal.c | 12 +-
drivers/thermal/broadcom/bcm2711_thermal.c | 14 +-
drivers/thermal/broadcom/bcm2835_thermal.c | 14 +-
drivers/thermal/broadcom/brcmstb_thermal.c | 20 +-
drivers/thermal/broadcom/ns-thermal.c | 50 +-
drivers/thermal/broadcom/sr-thermal.c | 16 +-
drivers/thermal/db8500_thermal.c | 8 +-
drivers/thermal/hisi_thermal.c | 14 +-
drivers/thermal/imx8mm_thermal.c | 14 +-
drivers/thermal/imx_sc_thermal.c | 14 +-
drivers/thermal/k3_bandgap.c | 12 +-
drivers/thermal/k3_j72xx_bandgap.c | 12 +-
drivers/thermal/max77620_thermal.c | 8 +-
drivers/thermal/mtk_thermal.c | 10 +-
drivers/thermal/qcom/qcom-spmi-adc-tm5.c | 19 +-
drivers/thermal/qcom/qcom-spmi-temp-alarm.c | 12 +-
drivers/thermal/qcom/tsens.c | 16 +-
drivers/thermal/qoriq_thermal.c | 12 +-
drivers/thermal/rcar_gen3_thermal.c | 16 +-
drivers/thermal/rcar_thermal.c | 13 +-
drivers/thermal/rockchip_thermal.c | 14 +-
drivers/thermal/rzg2l_thermal.c | 10 +-
drivers/thermal/samsung/exynos_tmu.c | 24 +-
drivers/thermal/sprd_thermal.c | 18 +-
drivers/thermal/st/stm_thermal.c | 16 +-
drivers/thermal/sun8i_thermal.c | 14 +-
drivers/thermal/tegra/soctherm.c | 21 +-
drivers/thermal/tegra/tegra-bpmp-thermal.c | 19 +-
drivers/thermal/tegra/tegra30-tsensor.c | 12 +-
drivers/thermal/thermal-generic-adc.c | 10 +-
drivers/thermal/thermal_core.c | 6 -
drivers/thermal/thermal_core.h | 2 -
drivers/thermal/thermal_mmio.c | 17 +-
drivers/thermal/thermal_of.c | 1140 ++++++-----------
drivers/thermal/thermal_sysfs.c | 5 +-
.../ti-soc-thermal/ti-thermal-common.c | 16 +-
drivers/thermal/uniphier_thermal.c | 10 +-
include/linux/thermal.h | 89 +-
45 files changed, 709 insertions(+), 1131 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