[PATCH] net: stmmac: loongson1: Use dev_err_probe()

Jacob Keller jacob.e.keller at intel.com
Tue Jun 16 16:42:18 PDT 2026


On 6/15/2026 5:24 AM, Keguang Zhang via B4 Relay wrote:
> From: Keguang Zhang <keguang.zhang at gmail.com>
> 
> Use dev_err_probe() for the missing match data case to simplify
> error handling.
> 
> Signed-off-by: Keguang Zhang <keguang.zhang at gmail.com>
> ---

At first I recalled that dev_err_probe does strange things with
-EPROBE_DEFER. From the documentation for dev_err_probe:

>  * @dev: the pointer to the struct device
>  * @err: error value to test
>  * @fmt: printf-style format string
>  * @...: arguments as specified in the format string
>  *
>  * This helper implements common pattern present in probe functions for error
>  * checking: print debug or error message depending if the error value is
>  * -EPROBE_DEFER and propagate error upwards.
>  * In case of -EPROBE_DEFER it sets also defer probe reason, which can be
>  * checked later by reading devices_deferred debugfs attribute.
>  * It replaces the following code sequence::
>  *
>  *      if (err != -EPROBE_DEFER)
>  *              dev_err(dev, ...);
>  *      else
>  *              dev_dbg(dev, ...);
>  *      return err;
>  *
>  * with::
>  *
>  *      return dev_err_probe(dev, err, ...);
>  *
>  * Using this helper in your probe function is totally fine even if @err
>  * is known to never be -EPROBE_DEFER.
>  * The benefit compared to a normal dev_err() is the standardized format
>  * of the error code, which is emitted symbolically (i.e. you get "EAGAIN"
>  * instead of "-35"), and having the error code returned allows more
>  * compact error paths.
>  *
>  * Returns @err.
>  */

I guess even without -EPROBE_DEFER this is still acceptable. The change
seems fine, if a bit of a minor cleanup. However, net-next is closed,
and this is definitely not a bug-fix worthy of net. This does have the
added benefit of

I'd probably also argue this may go against the desired goals of
net-next with only wanting such cleanups when in the context of other
larger work. Of course that decision ultimately belongs to the maintainers.

You can add my reviewed-by when/if you resubmit when net-next re-opens:

Reviewed-by: Jacob Keller <jacob.e.keller at intel.com>

>  drivers/net/ethernet/stmicro/stmmac/dwmac-loongson1.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson1.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson1.c
> index de9aba756aac..ec34adb63f61 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson1.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson1.c
> @@ -176,10 +176,8 @@ static int ls1x_dwmac_probe(struct platform_device *pdev)
>  				     "Unable to find syscon\n");
>  
>  	data = of_device_get_match_data(&pdev->dev);
> -	if (!data) {
> -		dev_err(&pdev->dev, "No of match data provided\n");
> -		return -EINVAL;
> -	}
> +	if (!data)
> +		return dev_err_probe(&pdev->dev, -EINVAL, "No of match data provided\n");
>  
>  	dwmac = devm_kzalloc(&pdev->dev, sizeof(*dwmac), GFP_KERNEL);
>  	if (!dwmac)
> 
> ---
> base-commit: ec039126b7fac4e3af35ebccaa7c6f9b6875ba81
> change-id: 20260602-dwmac-loongson1-5e1b9dfc3c62
> 
> Best regards,




More information about the linux-arm-kernel mailing list