linux/drivers/thermal
Niklas Söderlund 47b2d3d2ed thermal/drivers/rcar_gen3_thermal: Fix device initialization
The thermal zone is registered before the device is register and the
thermal coefficients are calculated, providing a window for very
incorrect readings.

The reason why the zone was register before the device was fully
initialized was that the presence of the set_trips() callback is used to
determine if the driver supports interrupt or not, as it is not defined
if the device is incapable of interrupts.

Fix this by using the operations structure in the private data instead
of the zone to determine if interrupts are available or not, and
initialize the device before registering the zone.

Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Link: https://lore.kernel.org/r/20230208190333.3159879-4-niklas.soderlund+renesas@ragnatech.se
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2023-02-15 17:29:23 +01:00
..
broadcom thermal/drivers/bcm2835: Use devm_platform_get_and_ioremap_resource() 2023-01-18 22:14:11 +01:00
intel thermal: intel: powerclamp: Add two module parameters 2023-02-09 21:01:06 +01:00
mediatek thermal/drivers/mediatek: Add the Low Voltage Thermal Sensor driver 2023-02-15 17:28:42 +01:00
qcom thermal/drivers/qcom-spmi-adc-tm5: Use asm intead of asm-generic 2023-01-18 09:17:28 +01:00
samsung thermal/drivers/exynos: Fix NULL pointer dereference when getting the critical temp 2023-01-06 14:14:48 +01:00
st thermal/drivers/st: Use generic trip points 2023-01-06 14:14:47 +01:00
tegra thermal/drivers/tegra: Fix set_trip_temp() deadlock 2023-01-06 14:14:48 +01:00
ti-soc-thermal thermal/drivers/ti: Remove unused macros ti_thermal_get_trip_value() / ti_thermal_trip_is_valid() 2023-01-06 14:14:48 +01:00
amlogic_thermal.c thermal/drivers/amlogic: Switch to new of API 2022-08-17 14:09:38 +02:00
armada_thermal.c thermal/drivers/armada: Use the thermal_zone_get_crit_temp() 2023-01-24 12:37:56 +01:00
cpufreq_cooling.c Merge branches 'thermal-intel' and 'thermal-drivers' 2022-10-03 20:43:32 +02:00
cpuidle_cooling.c thermal/drivers/cpuidle_cooling: Fix use after error 2021-04-15 13:21:26 +02:00
da9062-thermal.c thermal/drivers/da9062: Use generic thermal_zone_get_trip() function 2023-01-06 14:14:48 +01:00
db8500_thermal.c thermal/drivers/db8500: Switch to new of API 2022-08-17 14:09:38 +02:00
devfreq_cooling.c Thermal control updates for 5.20-rc1 2022-08-02 11:27:53 -07:00
dove_thermal.c thermal/drivers/dove: Use devm_platform_get_and_ioremap_resource() 2023-01-18 22:18:47 +01:00
gov_bang_bang.c thermal/core/governors: Use thermal_zone_get_trip() instead of ops functions 2023-01-06 14:14:47 +01:00
gov_fair_share.c thermal/core/governors: Use thermal_zone_get_trip() instead of ops functions 2023-01-06 14:14:47 +01:00
gov_power_allocator.c thermal/core/governors: Use thermal_zone_get_trip() instead of ops functions 2023-01-06 14:14:47 +01:00
gov_step_wise.c thermal/core/governors: Use thermal_zone_get_trip() instead of ops functions 2023-01-06 14:14:47 +01:00
gov_user_space.c thermal: gov_user_space: Do not lock thermal zone mutex 2022-08-30 20:18:47 +02:00
hisi_thermal.c thermal/drivers/hisi: Use generic thermal_zone_get_trip() function 2023-01-06 14:14:47 +01:00
imx_sc_thermal.c thermal/drivers/imx_sc_thermal: Add iMX8QM sensors 2023-01-17 10:28:13 +01:00
imx_thermal.c thermal/drivers/imx: Use generic thermal_zone_get_trip() function 2023-01-06 14:14:48 +01:00
imx8mm_thermal.c thermal/drivers/imx8mm: Add hwmon support 2022-12-14 15:25:40 +01:00
k3_bandgap.c thermal/drivers/banggap: Switch to new of API 2022-08-17 14:09:38 +02:00
k3_j72xx_bandgap.c thermal/drivers/k3_j72xx_bandgap: Map fuse_base only for erratum workaround 2022-12-14 15:25:41 +01:00
Kconfig thermal/drivers/mediatek: Relocate driver to mediatek folder 2023-02-15 17:28:25 +01:00
khadas_mcu_fan.c thermal/core: Make cooling device state change private 2021-01-19 22:31:10 +01:00
kirkwood_thermal.c thermal/drivers/kirkwood: Use devm_platform_get_and_ioremap_resource() 2023-01-18 22:22:50 +01:00
Makefile thermal/drivers/mediatek: Relocate driver to mediatek folder 2023-02-15 17:28:25 +01:00
max77620_thermal.c thermal/drivers/maxim: Switch to new of API 2022-08-17 14:09:38 +02:00
qoriq_thermal.c thermal/drivers/qoriq: Switch to new of API 2022-08-17 14:09:38 +02:00
rcar_gen3_thermal.c thermal/drivers/rcar_gen3_thermal: Fix device initialization 2023-02-15 17:29:23 +01:00
rcar_thermal.c thermal/drivers/rcar: Use generic thermal_zone_get_trip() function 2023-01-06 14:14:48 +01:00
rockchip_thermal.c thermal/drivers/rockchip: Use devm_platform_get_and_ioremap_resource() 2023-01-18 22:21:59 +01:00
rzg2l_thermal.c thermal/drivers/rzg2l: Switch to new of API 2022-08-17 14:09:38 +02:00
spear_thermal.c thermal/drivers/spear: Use devm_platform_get_and_ioremap_resource() 2023-01-18 22:23:25 +01:00
sprd_thermal.c thermal/drivers/sprd: Switch to new of API 2022-08-17 14:09:38 +02:00
sun8i_thermal.c thermal/drivers/sun8i: Convert to use macro 2023-01-24 11:43:22 +01:00
thermal_acpi.c thermal: ACPI: Make helpers retrieve temperature only 2023-02-02 15:26:45 +01:00
thermal_core.c thermal: core: Use sysfs_emit_at() instead of scnprintf() 2023-02-09 20:39:48 +01:00
thermal_core.h thermal/core: Move the thermal trip code to a dedicated file 2023-01-25 16:40:39 +01:00
thermal_helpers.c thermal/core: Move the thermal trip code to a dedicated file 2023-01-25 16:40:39 +01:00
thermal_hwmon.c thermal/core: Protect hwmon accesses to thermal operations with thermal zone mutex 2022-11-14 19:04:37 +01:00
thermal_hwmon.h thermal_hwmon: Add devres wrapper for thermal_add_hwmon_sysfs() 2020-01-27 10:24:32 +01:00
thermal_mmio.c thermal/drivers/thermal_mmio: Use devm_platform_get_and_ioremap_resource() 2023-01-18 22:22:19 +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: Remove of_thermal_get_crit_temp() 2023-01-06 14:14:47 +01:00
thermal_sysfs.c thermal/core: Add a generic thermal_zone_set_trip() function 2023-01-06 14:14:47 +01:00
thermal_trip.c thermal/core: Move the thermal trip code to a dedicated file 2023-01-25 16:40:39 +01:00
thermal-generic-adc.c thermal/drivers/generic-adc: Switch to new of API 2022-08-17 14:09:37 +02:00
uniphier_thermal.c thermal/drivers/uniphier: Use regular comment syntax 2023-01-16 11:22:29 +01:00