On 11/09/2023 15:34, Mateusz Majewski wrote: > This does reduce the error granularity a bit, but the code > simplification seems to be worth it. > > Signed-off-by: Mateusz Majewski <m.majewski2@xxxxxxxxxxx> > --- > drivers/thermal/samsung/exynos_tmu.c | 33 +++++++--------------------- > 1 file changed, 8 insertions(+), 25 deletions(-) > > diff --git a/drivers/thermal/samsung/exynos_tmu.c b/drivers/thermal/samsung/exynos_tmu.c > index ba9414b419ef..8451deb65f43 100644 > --- a/drivers/thermal/samsung/exynos_tmu.c > +++ b/drivers/thermal/samsung/exynos_tmu.c > @@ -157,7 +157,6 @@ enum soc_type { > * @reference_voltage: reference voltage of amplifier > * in the positive-TC generator block > * 0 < reference_voltage <= 31 > - * @regulator: pointer to the TMU regulator structure. > * @tzd: pointer to thermal_zone_device structure > * @ntrip: number of supported trip points. > * @enabled: current status of TMU device > @@ -183,7 +182,6 @@ struct exynos_tmu_data { > u16 temp_error1, temp_error2; > u8 gain; > u8 reference_voltage; > - struct regulator *regulator; > struct thermal_zone_device *tzd; > unsigned int ntrip; > bool enabled; > @@ -994,42 +992,34 @@ static int exynos_tmu_probe(struct platform_device *pdev) > * TODO: Add regulator as an SOC feature, so that regulator enable > * is a compulsory call. > */ > - data->regulator = devm_regulator_get_optional(&pdev->dev, "vtmu"); > - if (!IS_ERR(data->regulator)) { > - ret = regulator_enable(data->regulator); > - if (ret) { > - dev_err(&pdev->dev, "failed to enable vtmu\n"); > - return ret; > - } > - } else { > - if (PTR_ERR(data->regulator) == -EPROBE_DEFER) > + ret = devm_regulator_get_enable_optional(&pdev->dev, "vtmu"); > + if (ret) { > + if (ret == -EPROBE_DEFER) > return -EPROBE_DEFER; > - dev_info(&pdev->dev, "Regulator node (vtmu) not found\n"); > + dev_info(&pdev->dev, "Failed to get regulator node (vtmu)\n"); This is not equivalent. If regulator is provided and enable fails, the old code is nicely returning error. Now, it will print misleading message - failed to get regulator - and continue. While this simplifies the code, it ignores important running condition - having regulator enabled. Best regards, Krzysztof