[PATCH] firmware: arm_scmi: Use dev_err_probe() simplify the code

Christophe JAILLET christophe.jaillet at wanadoo.fr
Fri May 16 08:23:37 PDT 2025


Le 15/05/2025 à 15:59, Cristian Marussi a écrit :
> On Thu, May 15, 2025 at 08:38:55PM +0800, long.yunjian at zte.com.cn wrote:
>> From: Yumeng Fang <fang.yumeng at zte.com.cn>
>>
> 
> 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
> 
> 




More information about the linux-arm-kernel mailing list