linux/drivers/thermal
Rafael J. Wysocki 77451ef587 thermal: core: Store trip pointer in struct thermal_instance
[ Upstream commit 2c7b4bfade ]

Replace the integer trip number stored in struct thermal_instance with
a pointer to the relevant trip and adjust the code using the structure
in question accordingly.

The main reason for making this change is to allow the trip point to
cooling device binding code more straightforward, as illustrated by
subsequent modifications of the ACPI thermal driver, but it also helps
to clarify the overall design and allows the governor code overhead to
be reduced (through subsequent modifications).

The only case in which it adds complexity is trip_point_show() that
needs to walk the trips[] table to find the index of the given trip
point, but this is not a critical path and the interface that
trip_point_show() belongs to is problematic anyway (for instance, it
doesn't cover the case when the same cooling devices is associated
with multiple trip points).

This is a preliminary change and the affected code will be refined by
a series of subsequent modifications of thermal governors, the core and
the ACPI thermal driver.

The general functionality is not expected to be affected by this change.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Stable-dep-of: e95fa74047 ("thermal: gov_power_allocator: avoid inability to reset a cdev")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-01-31 16:19:10 -08:00
..
broadcom thermal/drivers/broadcom/brcstb_thermal: Removed unneeded platform_set_drvdata() 2023-08-16 12:22:28 +02:00
intel thermal: intel: hfi: Add syscore callbacks for system-wide PM 2024-01-31 16:19:09 -08:00
mediatek thermal/drivers/mediatek: Fix probe for THERMAL_V2 2023-11-20 11:59:01 +01:00
qcom thermal/drivers/tsens: Make tsens_xxxx_nvmem static 2023-08-16 09:54:39 +02:00
samsung thermal/drivers/samsung: Fix Wvoid-pointer-to-enum-cast warning 2023-08-16 12:11:19 +02:00
st thermal: Explicitly include correct DT includes 2023-07-31 20:03:42 +02:00
tegra thermal/drivers/tegra-bpmp: Check if BPMP supports trip points 2023-08-22 19:10:28 +02:00
ti-soc-thermal thermal: Constify the trip argument of the .get_trend() zone callback 2023-09-11 17:16:40 +02:00
amlogic_thermal.c thermal: Explicitly include correct DT includes 2023-07-31 20:03:42 +02:00
armada_thermal.c thermal: Use thermal_tripless_zone_device_register() 2023-09-05 21:42:18 +02:00
cpufreq_cooling.c - Add more thermal zone device encapsulation: prevent setting 2023-04-03 20:43:32 +02:00
cpuidle_cooling.c More thermal control updates for 6.4-rc1 2023-05-03 11:46:01 -07:00
da9062-thermal.c thermal/drivers/da9062: Don't access the thermal zone device fields 2023-03-03 20:45:03 +01:00
db8500_thermal.c thermal/drivers/db8500: Remove redundant of_match_ptr() 2023-08-16 12:09:19 +02:00
devfreq_cooling.c thermal/core: Relocate the traces definition in thermal directory 2023-04-01 20:51:45 +02:00
dove_thermal.c thermal: Use thermal_tripless_zone_device_register() 2023-09-05 21:42:18 +02:00
gov_bang_bang.c thermal: core: Store trip pointer in struct thermal_instance 2024-01-31 16:19:10 -08:00
gov_fair_share.c thermal: core: Store trip pointer in struct thermal_instance 2024-01-31 16:19:10 -08:00
gov_power_allocator.c thermal: core: Store trip pointer in struct thermal_instance 2024-01-31 16:19:10 -08:00
gov_step_wise.c thermal: core: Store trip pointer in struct thermal_instance 2024-01-31 16:19:10 -08:00
gov_user_space.c
hisi_thermal.c thermal: Explicitly include correct DT includes 2023-07-31 20:03:42 +02:00
imx8mm_thermal.c thermal/drivers/imx8mm: Suppress log message on probe deferral 2023-08-16 09:54:39 +02:00
imx_sc_thermal.c thermal: Explicitly include correct DT includes 2023-07-31 20:03:42 +02:00
imx_thermal.c thermal: Explicitly include correct DT includes 2023-07-31 20:03:42 +02:00
k3_bandgap.c thermal/drivers/k3_bandgap: Remove unneeded call to platform_set_drvdata() 2023-08-16 12:19:28 +02:00
k3_j72xx_bandgap.c thermal/drivers/k3_j72xx_bandgap: Removed unneeded call to platform_set_drvdata() 2023-08-16 12:18:02 +02:00
Kconfig thermal/drivers/loongson-2: Add thermal management support 2023-08-17 09:27:18 +02:00
khadas_mcu_fan.c
kirkwood_thermal.c thermal: Use thermal_tripless_zone_device_register() 2023-09-05 21:42:18 +02:00
loongson2_thermal.c drivers/thermal/loongson2_thermal: Fix incorrect PTR_ERR() judgment 2024-01-25 15:35:15 -08:00
Makefile thermal/drivers/loongson-2: Add thermal management support 2023-08-17 09:27:18 +02:00
max77620_thermal.c thermal/drivers/max77620_thermal: Removed unneeded call to platform_set_drvdata() 2023-08-16 12:33:53 +02:00
qoriq_thermal.c thermal/drivers/qoriq: Remove redundant msg in qoriq_tmu_register_tmu_zone() 2023-06-26 12:03:14 +02:00
rcar_gen3_thermal.c thermal: Explicitly include correct DT includes 2023-07-31 20:03:42 +02:00
rcar_thermal.c thermal: Explicitly include correct DT includes 2023-07-31 20:03:42 +02:00
rockchip_thermal.c thermal/drivers/rockchip: use devm_reset_control_array_get_exclusive() 2023-04-07 10:31:33 +02:00
rzg2l_thermal.c thermal: Explicitly include correct DT includes 2023-07-31 20:03:42 +02:00
spear_thermal.c thermal: Use thermal_tripless_zone_device_register() 2023-09-05 21:42:18 +02:00
sprd_thermal.c thermal: Explicitly include correct DT includes 2023-07-31 20:03:42 +02:00
sun8i_thermal.c thermal/drivers/sun8i_thermal: Remove unneeded call to platform_set_drvdata() 2023-08-16 12:31:22 +02:00
thermal_acpi.c thermal: ACPI: Make helpers retrieve temperature only 2023-02-02 15:26:45 +01:00
thermal_core.c thermal: core: Store trip pointer in struct thermal_instance 2024-01-31 16:19:10 -08:00
thermal_core.h thermal: core: Store trip pointer in struct thermal_instance 2024-01-31 16:19:10 -08:00
thermal_helpers.c thermal: core: Store trip pointer in struct thermal_instance 2024-01-31 16:19:10 -08:00
thermal_hwmon.c thermal/hwmon: Add error information printing for devm_thermal_add_hwmon_sysfs() 2023-06-26 12:03:14 +02:00
thermal_hwmon.h thermal/hwmon: Use the right device for devm_thermal_add_hwmon_sysfs() 2023-03-03 20:45:02 +01:00
thermal_mmio.c thermal/core: Use the thermal zone 'devdata' accessor in thermal located drivers 2023-03-03 20:45:02 +01:00
thermal_netlink.c thermal/core: Fix unregistering netlink at thermal init time 2023-01-25 16:40:39 +01:00
thermal_netlink.h thermal/core: Fix unregistering netlink at thermal init time 2023-01-25 16:40:39 +01:00
thermal_of.c thermal/of: add missing of_node_put() 2023-09-11 17:16:36 +02:00
thermal_sysfs.c thermal: core: Store trip pointer in struct thermal_instance 2024-01-31 16:19:10 -08:00
thermal_trace_ipa.h thermal/core: Relocate the traces definition in thermal directory 2023-04-01 20:51:45 +02:00
thermal_trace.h thermal/core: Relocate the traces definition in thermal directory 2023-04-01 20:51:45 +02:00
thermal_trip.c thermal: core: Store trip pointer in struct thermal_instance 2024-01-31 16:19:10 -08:00
thermal-generic-adc.c thermal/drivers/generic-adc: Removed unneeded call to platform_set_drvdata() 2023-08-16 12:36:21 +02:00
uniphier_thermal.c thermal: Explicitly include correct DT includes 2023-07-31 20:03:42 +02:00