[GIT PULL] generic trip points for the thermal framework

From: Daniel Lezcano
Date: Sun Jan 08 2023 - 15:22:18 EST



Hi Rafael,

here are the changes for the generic trip points which were postponed during the last release. They have been in the linux-next branch since November.

The following changes since commit b878d3ba9bb41cddb73ba4b56e5552f0a638daca:

thermal: int340x: Add missing attribute for data rate base (2022-12-30 19:48:37 +0100)

are available in the Git repository at:


ssh://git@xxxxxxxxxxxxxxxxxxx/pub/scm/linux/kernel/git/thermal/linux.git tags/generic-trip-point

for you to fetch changes up to 3a151494dc04c76add577ae66e8a04f900638aaf:

thermal/drivers/armada: Use strscpy() to instead of strncpy() (2023-01-06 14:14:48 +0100)

----------------------------------------------------------------
- Rework a large bunch of drivers to use the generic thermal trip
structure and the opportunity to do more cleanups by removing unused
functions in the OF code (Daniel Lezcano)

- Fix some locking issues related to the generic thermal trip rework
(Johan Hovold)

- Fix a crash when requesting the critical temperature on tegra, this
fix is related to the generic trip point (Jon Hunter)

- Use strscpy() to instead of strncpy() (Xu Panda)

----------------------------------------------------------------
Daniel Lezcano (32):
thermal/core: Add a generic thermal_zone_get_trip() function
thermal/sysfs: Always expose hysteresis attributes
thermal/core: Add a generic thermal_zone_set_trip() function
thermal/core/governors: Use thermal_zone_get_trip() instead of ops functions
thermal/of: Use generic thermal_zone_get_trip() function
thermal/of: Remove unused functions
thermal/drivers/exynos: Use generic thermal_zone_get_trip() function
thermal/drivers/exynos: of_thermal_get_ntrips()
thermal/drivers/exynos: Replace of_thermal_is_trip_valid() by thermal_zone_get_trip()
thermal/drivers/tegra: Use generic thermal_zone_get_trip() function
thermal/drivers/uniphier: Use generic thermal_zone_get_trip() function
thermal/drivers/hisi: Use generic thermal_zone_get_trip() function
thermal/drivers/qcom: Use generic thermal_zone_get_trip() function
thermal/drivers/armada: Use generic thermal_zone_get_trip() function
thermal/drivers/rcar_gen3: Use the generic function to get the number of trips
thermal/of: Remove of_thermal_get_ntrips()
thermal/of: Remove of_thermal_is_trip_valid()
thermal/of: Remove of_thermal_set_trip_hyst()
thermal/of: Remove of_thermal_get_crit_temp()
thermal/drivers/st: Use generic trip points
thermal/drivers/imx: Use generic thermal_zone_get_trip() function
thermal/drivers/rcar: Use generic thermal_zone_get_trip() function
thermal/drivers/broadcom: Use generic thermal_zone_get_trip() function
thermal/drivers/da9062: Use generic thermal_zone_get_trip() function
thermal/drivers/ti: Remove unused macros ti_thermal_get_trip_value() / ti_thermal_trip_is_valid()
thermal/drivers/acerhdf: Use generic thermal_zone_get_trip() function
thermal/drivers/cxgb4: Use generic thermal_zone_get_trip() function
thermal/intel/int340x: Replace parameter to simplify
thermal/drivers/intel: Use generic thermal_zone_get_trip() function
thermal/drivers/exynos: Fix NULL pointer dereference when getting the critical temp
wifi: iwlwifi: Use generic thermal_zone_get_trip() function
thermal/drivers/mellanox: Use generic thermal_zone_get_trip() function

Johan Hovold (3):
thermal/drivers/qcom: Fix set_trip_temp() deadlock
thermal/drivers/tegra: Fix set_trip_temp() deadlock
thermal/drivers/qcom: Fix lock inversion

Jon Hunter (1):
thermal/drivers/tegra: Fix crash when getting critical temp

Xu Panda (1):
thermal/drivers/armada: Use strscpy() to instead of strncpy()

drivers/net/ethernet/chelsio/cxgb4/cxgb4.h | 2 -
drivers/net/ethernet/chelsio/cxgb4/cxgb4_thermal.c | 39 +---
drivers/net/ethernet/mellanox/mlxsw/core_thermal.c | 209 +++++----------------
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h | 2 +-
drivers/net/wireless/intel/iwlwifi/mvm/tt.c | 71 ++-----
drivers/platform/x86/acerhdf.c | 73 +++----
drivers/thermal/armada_thermal.c | 40 ++--
drivers/thermal/broadcom/bcm2835_thermal.c | 8 +-
drivers/thermal/da9062-thermal.c | 52 +----
drivers/thermal/gov_bang_bang.c | 37 ++--
drivers/thermal/gov_fair_share.c | 18 +-
drivers/thermal/gov_power_allocator.c | 51 +++--
drivers/thermal/gov_step_wise.c | 22 +--
drivers/thermal/hisi_thermal.c | 11 +-
drivers/thermal/imx_thermal.c | 72 +++----
.../intel/int340x_thermal/int340x_thermal_zone.c | 33 ++--
.../intel/int340x_thermal/int340x_thermal_zone.h | 4 +-
.../int340x_thermal/processor_thermal_device.c | 10 +-
drivers/thermal/intel/x86_pkg_temp_thermal.c | 120 ++++++------
drivers/thermal/qcom/qcom-spmi-temp-alarm.c | 44 ++---
drivers/thermal/rcar_gen3_thermal.c | 2 +-
drivers/thermal/rcar_thermal.c | 53 +-----
drivers/thermal/samsung/exynos_tmu.c | 62 +++---
drivers/thermal/st/st_thermal.c | 47 +----
drivers/thermal/tegra/soctherm.c | 35 ++--
drivers/thermal/tegra/tegra30-tsensor.c | 17 +-
drivers/thermal/thermal_core.c | 154 ++++++++++++---
drivers/thermal/thermal_core.h | 24 +--
drivers/thermal/thermal_helpers.c | 28 +--
drivers/thermal/thermal_netlink.c | 19 +-
drivers/thermal/thermal_of.c | 116 ------------
drivers/thermal/thermal_sysfs.c | 135 +++++--------
drivers/thermal/ti-soc-thermal/ti-thermal.h | 15 --
drivers/thermal/uniphier_thermal.c | 27 ++-
include/linux/thermal.h | 12 ++
35 files changed, 618 insertions(+), 1046 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