Hi Daniel, On Fri, 18 Apr 2025 at 13:49, Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> wrote: > > 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/ Thanks for your review comments. Opps, I will fix this next version it got skipped. > > > --- > > 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. I'll be sure to check this out. Thanks -Anand > > -- > > <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