linux/drivers/thermal
Christophe JAILLET c756e8a227 thermal/drivers/sun8i: Fix some error handling paths in sun8i_ths_probe()
[ Upstream commit 89382022b3 ]

Should an error occur after calling sun8i_ths_resource_init() in the probe
function, some resources need to be released, as already done in the
.remove() function.

Switch to the devm_clk_get_enabled() helper and add a new devm_action to
turn sun8i_ths_resource_init() into a fully managed function.

Move the place where reset_control_deassert() is called so that the
recommended order of reset release/clock enable steps is kept.
A64 manual states that:

	3.3.6.4. Gating and reset

	Make sure that the reset signal has been released before the release of
	module clock gating;

This fixes the issue and removes some LoC at the same time.

Fixes: dccc5c3b6f ("thermal/drivers/sun8i: Add thermal driver for H6/H5/H3/A64/A83T/R40")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Acked-by: Maxime Ripard <maxime@cerno.tech>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/a8ae84bd2dc4b55fe428f8e20f31438bf8bb6762.1684089931.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2023-07-23 13:46:46 +02:00
..
broadcom thermal/drivers/broadcom: Fix potential NULL dereference in sr_thermal_probe 2022-06-09 10:23:01 +02:00
intel thermal: intel: BXT_PMIC: select REGMAP instead of depending on it 2023-03-11 13:57:32 +01:00
qcom thermal/drivers/tsens: limit num_sensors to 9 for msm8939 2023-03-10 09:39:10 +01:00
samsung thermal/drivers/exynos: Fix an error code in exynos_tmu_probe() 2021-08-14 12:40:35 +02:00
st thermal/drivers/st: Use devm_platform_get_and_ioremap_resource() 2021-06-14 19:01:15 +02:00
tegra thermal/core: Rename 'trips' to 'num_trips' 2023-02-01 08:27:15 +01:00
ti-soc-thermal thermal/ti-soc-thermal: Fix kernel-doc 2021-05-24 22:38:05 +02:00
amlogic_thermal.c thermal: amlogic: Omit superfluous error message in amlogic_thermal_probe() 2021-03-10 12:52:55 +01:00
armada_thermal.c thermal: Explicitly enable non-changing thermal zone devices 2020-06-29 20:26:37 +02:00
cpufreq_cooling.c thermal: cpufreq_cooling: Check the policy first in cpufreq_cooling_register() 2022-10-26 12:34:36 +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/core: Remove ms based delay fields 2021-01-19 22:23:49 +01:00
db8500_thermal.c thermal: db8500: Depromote debug print 2020-01-27 10:24:32 +01:00
devfreq_cooling.c thermal: devfreq_cooling: use local ops instead of global ops 2022-06-09 10:23:26 +02:00
dove_thermal.c thermal: Explicitly enable non-changing thermal zone devices 2020-06-29 20:26:37 +02:00
gov_bang_bang.c thermal: step_wise: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00
gov_fair_share.c thermal: Validate new state in cur_state_store() 2023-02-01 08:27:15 +01:00
gov_power_allocator.c thermal/core: Rename 'trips' to 'num_trips' 2023-02-01 08:27:15 +01:00
gov_step_wise.c thermal/core: Remove the 'forced_passive' option 2021-01-19 22:22:45 +01:00
gov_user_space.c thermal/governors: Prefix all source files with gov_ 2020-05-22 18:48:54 +02:00
hisi_thermal.c thermal/drivers/hisi: Drop second sensor hi3660 2023-03-10 09:39:18 +01:00
imx8mm_thermal.c thermal/drivers/imx8mm_thermal: Validate temperature range 2022-12-31 13:14:31 +01:00
imx_sc_thermal.c thermal/drivers/imx_sc_thermal: Fix refcount leak in imx_sc_thermal_probe 2022-06-09 10:23:01 +02:00
imx_thermal.c thermal/drivers/imx: Implement runtime PM support 2022-01-27 11:03:21 +01:00
k3_bandgap.c thermal: k3: Add support for bandgap sensors 2020-04-14 11:41:12 +02:00
Kconfig thermal/drivers/zx: Remove zx driver 2021-02-03 09:17:47 +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: Explicitly enable non-changing thermal zone devices 2020-06-29 20:26:37 +02:00
Makefile thermal/drivers/zx: Remove zx driver 2021-02-03 09:17:47 +01:00
max77620_thermal.c thermal: max77620: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00
mtk_thermal.c Revert "thermal/drivers/mediatek: Use devm_of_iomap to avoid resource leak in mtk_thermal_probe" 2023-07-05 18:25:05 +01:00
qoriq_thermal.c thermal: qoriq: Update the settings for TMUv2 2020-05-29 20:26:51 +02:00
rcar_gen3_thermal.c thermal/drivers/rcar_gen3_thermal: Store TSC id as unsigned int 2021-08-14 12:49:05 +02:00
rcar_thermal.c thermal/drivers/rcar: Remove notification usage 2020-12-15 17:01:55 +01:00
rockchip_thermal.c thermal/drivers/rockchip: Support RK3568 SoCs in the thermal driver 2021-06-11 11:30:30 +02:00
spear_thermal.c thermal: Explicitly enable non-changing thermal zone devices 2020-06-29 20:26:37 +02:00
sprd_thermal.c thermal/drivers/sprd: Add missing of_node_put for loop iteration 2021-06-14 22:42:09 +02:00
sun8i_thermal.c thermal/drivers/sun8i: Fix some error handling paths in sun8i_ths_probe() 2023-07-23 13:46:46 +02:00
thermal-generic-adc.c thermal: generic-adc: silence info message for IIO_TEMP channels 2020-01-27 10:24:32 +01:00
thermal_core.c thermal: core: call put_device() only after device_register() fails 2023-02-01 08:27:15 +01:00
thermal_core.h thermal/core: Create a helper __thermal_cdev_update() without a lock 2021-04-22 14:10:28 +02:00
thermal_helpers.c thermal/core: Rename 'trips' to 'num_trips' 2023-02-01 08:27:15 +01:00
thermal_hwmon.c thermal/drivers/hwmon: Cleanup coding style a bit 2020-11-12 11:24:01 +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: Remove redundant dev_err call in thermal_mmio_probe() 2021-04-20 08:58:47 +02:00
thermal_netlink.c thermal/core: Rename 'trips' to 'num_trips' 2023-02-01 08:27:15 +01:00
thermal_netlink.h thermal: netlink: Improve the initcall ordering 2020-07-21 10:40:08 +02:00
thermal_of.c thermal: Fix NULL pointer dereferences in of_thermal_ functions 2021-11-21 13:44:14 +01:00
thermal_sysfs.c thermal: Validate new state in cur_state_store() 2023-02-01 08:27:15 +01:00
uniphier_thermal.c thermal: uniphier: Convert to SPDX identifier 2019-01-02 04:47:16 -08:00