Re: [PATCH] cpufreq: mediatek: Use dev_err_probe in every error path in probe

From: AngeloGioacchino Del Regno
Date: Wed Jul 03 2024 - 08:44:00 EST


Il 02/07/24 10:43, Viresh Kumar ha scritto:
On 02-07-24, 10:26, AngeloGioacchino Del Regno wrote:
Il 02/07/24 07:57, Viresh Kumar ha scritto:
On 28-06-24, 15:48, Nícolas F. R. A. Prado wrote:
diff --git a/drivers/cpufreq/mediatek-cpufreq.c b/drivers/cpufreq/mediatek-cpufreq.c
@@ -629,11 +630,9 @@ static int mtk_cpufreq_probe(struct platform_device *pdev)
int cpu, ret;
data = dev_get_platdata(&pdev->dev);
- if (!data) {
- dev_err(&pdev->dev,
- "failed to get mtk cpufreq platform data\n");
- return -ENODEV;
- }
+ if (!data)
+ return dev_err_probe(&pdev->dev, -ENODEV,

What's the point of calling dev_err_probe() when we know for sure that
the error isn't EPROBE_DEFER ?


Logging consistency, that's all; the alternative would be to rewrite the dev_err()
messages to be consistent with what dev_err_probe() says, so that'd be
dev_err("error %pe: (message)");

That would be better I guess. There is no point adding inefficient
code.

+ "failed to get mtk cpufreq platform data\n");
for_each_possible_cpu(cpu) {
info = mtk_cpu_dvfs_info_lookup(cpu);
@@ -643,24 +642,21 @@ static int mtk_cpufreq_probe(struct platform_device *pdev)
info = devm_kzalloc(&pdev->dev, sizeof(*info), GFP_KERNEL);
if (!info) {
ret = -ENOMEM;
+ dev_err_probe(&pdev->dev, ret, "Failed to allocate dvfs_info\n");


By the way, forgot to point that out in my former review: to make it shorter,
instead of "ret = -ENOMEM; dev_err_probe()" you can write it as...

ret = dev_err_probe(&pdev->dev, -ENOMEM, ".... message");

`ret` will be be used I guess with the `goto` statement to return
error and so the change was like this.


Yes it will, but `ret = dev_err_probe(dev, -ENOMEM, "...")` is still kind of a
shortcut, as that will effectively assign -ENOMEM to ret, so that the error is
still returned like before ;-)

Cheers