Re: [GIT PULL] generic trip points for the thermal framework

From: Rafael J. Wysocki
Date: Tue Jan 10 2023 - 07:32:07 EST


On Mon, Jan 9, 2023 at 9:17 PM Rafael J. Wysocki <rafael@xxxxxxxxxx> wrote:
>
> On Sun, Jan 8, 2023 at 9:22 PM Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> wrote:
> >
> >
> > 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(-)
> >
> > --
>
> Pulled and pushed out, thanks!
>
> I've merged my thermal-intel branch on top of this and pushed out the
> result into the bleeding-edge branch. Please check my merge conflict
> resolution there.

It would not build due to tj_max being undefined in
pkg_temp_thermal_device_add().

Should be fixed in bleeding-edge now.

Rui, please have a look at that too.

Thanks!