On Thu, Apr 10, 2025 at 12:07:50PM +0530, Anand Moon wrote: > As per Exynos5422 user manual e-Fuse range min~max range is 16~76. > if e-Fuse value is out of this range, then thermal sensor may not > sense thermal data properly. Refactors the efuse value > initialization logic within exynos_map_dt_data function by > replacing the nested if-else statements with a switch statement. > Ensures proper initialization of efuse values based on the SOC type. > > Signed-off-by: Anand Moon <linux.amoon@xxxxxxxxx> Same subject typo: s/exymos/exynos/ > --- > v5: None > v4: None > v3: Improve the logic to convert if/else to switch > --- > drivers/thermal/samsung/exynos_tmu.c | 19 +++++++++++++++---- > 1 file changed, 15 insertions(+), 4 deletions(-) > > diff --git a/drivers/thermal/samsung/exynos_tmu.c b/drivers/thermal/samsung/exynos_tmu.c > index ac3b9d2c900c..a71cde0a4b17 100644 > --- a/drivers/thermal/samsung/exynos_tmu.c > +++ b/drivers/thermal/samsung/exynos_tmu.c > @@ -899,12 +899,23 @@ static int exynos_map_dt_data(struct platform_device *pdev) > data->gain = 8; > data->reference_voltage = 16; > data->efuse_value = 55; > - if (data->soc != SOC_ARCH_EXYNOS5420 && > - data->soc != SOC_ARCH_EXYNOS5420_TRIMINFO) > + data->max_efuse_value = 100; > + switch (data->soc) { > + case SOC_ARCH_EXYNOS3250: > + case SOC_ARCH_EXYNOS4412: > + case SOC_ARCH_EXYNOS5250: > + case SOC_ARCH_EXYNOS5260: > data->min_efuse_value = 40; > - else > + break; > + case SOC_ARCH_EXYNOS5420: > + case SOC_ARCH_EXYNOS5420_TRIMINFO: > + data->min_efuse_value = 16; > + data->max_efuse_value = 76; > + break; > + default: > data->min_efuse_value = 0; > - data->max_efuse_value = 100; > + break; > + } > break; > case SOC_ARCH_EXYNOS5433: > data->tmu_set_low_temp = exynos5433_tmu_set_low_temp; Thanks for taking care of cleaning up this portion of code. IMO, it would be interesting to go a bit further in the house keeping by replacing this big switch with a set of structures stored as __init sections. The initialization finds the right structure and does a structure copy to 'data'. It is up to you to do this change or not. -- <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog