thermal/drivers/exynos: Handle devm_regulator_get_optional return value correctly

Currently, if regulator is required in the SoC, but
devm_regulator_get_optional fails for whatever reason, the execution
will proceed without propagating the error. Meanwhile there is no
reason to output the error in case of -ENODEV.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Mateusz Majewski <m.majewski2@samsung.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20231201095625.301884-5-m.majewski2@samsung.com
This commit is contained in:
Mateusz Majewski 2023-12-01 10:56:20 +01:00 committed by Daniel Lezcano
parent 20009a8137
commit 52ef6f567e

View File

@ -1002,9 +1002,17 @@ static int exynos_tmu_probe(struct platform_device *pdev)
return ret;
}
} else {
if (PTR_ERR(data->regulator) == -EPROBE_DEFER)
ret = PTR_ERR(data->regulator);
switch (ret) {
case -ENODEV:
break;
case -EPROBE_DEFER:
return -EPROBE_DEFER;
dev_info(&pdev->dev, "Regulator node (vtmu) not found\n");
default:
dev_err(&pdev->dev, "Failed to get regulator: %d\n",
ret);
return ret;
}
}
ret = exynos_map_dt_data(pdev);