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

From: Zhang, Rui
Date: Tue Jan 10 2023 - 11:30:47 EST


On Tue, 2023-01-10 at 13:31 +0100, Rafael J. Wysocki wrote:
> 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().

I missed your original merge commit.

>
> Should be fixed in bleeding-edge now.
>
> Rui, please have a look at that too.
>
Yeah, commit 8c945145c105 ("Merge branch 'thermal-intel' into bleeding-
edge") looks good to me. Daniel' patch depends on tj_max, and we should
have that variable back.

thanks,
rui