Re: [PATCH] firmware: arm_scmi: Use dev_err_probe() simplify the code
From: Christophe JAILLET
Date: Fri May 16 2025 - 11:24:05 EST
Le 15/05/2025 à 15:59, Cristian Marussi a écrit :
On Thu, May 15, 2025 at 08:38:55PM +0800, long.yunjian@xxxxxxxxxx wrote:
From: Yumeng Fang <fang.yumeng@xxxxxxxxxx>
Hi,
In the probe path, dev_err() can be replaced with dev_err_probe()
which will check if error code is -EPROBE_DEFER and prints the
error name. It also sets the defer probe reason which can be
checked later through debugfs.
All true...but...if you look at the main scmi_probe() function all of these
failures are trapped at that level currently on the return path...
see the call chain from
scmi_probe()
....
ret = scmi_channels_setup(info);
...
...so your probe errors will be overridden there with a more generic message
left in debugfs at the top level.
This is only true only when -EPROBE_DEFER is returned.
In other cases, I think that we would get 2 messages. The specific one
from scmi_channels_setup() and a generic one from scmi_probe().
in such a case, the one in scmi_channels_setup() will be better, because
it will log the error code in a human readable format, which is not the
case now.
So, I think that the patch:
- simplify the code
- improve the error messages in some cases
If -EPROBE_DEFER is returned, I think that the additional call would
just but a harmless no-op.
CJ
Thanks,
Cristian