[PATCH 2/2] ASoC: xilinx: xlnx_spdif: Use dev_err_probe() and drop redundant error handling

Michal Simek michal.simek at amd.com
Fri Jul 10 01:48:38 PDT 2026



On 7/10/26 10:17, Bui Duc Phuc wrote:
> Hi Michal,
> 
> Thank you for your review !
> 
>>> +     if (IS_ERR(ctx->axi_clk))
>>> +             return dev_err_probe(dev, PTR_ERR(ctx->axi_clk), "failed to get s_axi_aclk\n");
>>
>> This is pretty long line. Message should go on the next line.
>>
> 
> The line is still within the 100-character limit.
> I'll split the message onto the next line in the next version.
> 
>>> @@ -274,29 +270,23 @@ static int xlnx_spdif_probe(struct platform_device *pdev)
>>>                ret = devm_request_irq(dev, ret,
>>>                                       xlnx_spdifrx_irq_handler,
>>>                                       0, "XLNX_SPDIF_RX", ctx);
>>> -             if (ret) {
>>> -                     dev_err(dev, "spdif rx irq request failed\n");
>>> -                     return -ENODEV;
>>> -             }
>>> +             if (ret)
>>> +                     return ret;
>>
>> Here you are changing error value and commit message is not saying anything
>> about it.
>>
> 
> Oh, sorry. I should have explained this in the commit message.
> devm_request_irq() can return various error codes, such as -EINVAL, -ENOTCONN,
> -ENOMEM, -ENOSYS, and -EBUSY. The existing code overwrites all of them with
> -ENODEV, which does not reflect the actual failure.
> I'll update the commit message to explain this change, and add a
> Fixes: tag if appropriate.

I am not saying it is wrong. I am just saying that it should be likely handled 
as separate change/patch to address this issue.

> 
>>>        ret = devm_snd_soc_register_component(dev, &xlnx_spdif_component,
>>>                                              dai_drv, 1);
>>> -     if (ret) {
>>> -             dev_err(dev, "SPDIF component registration failed\n");
>>> +     if (ret)
>>>                return ret;
>>> -     }
>>
>> And this is another case. Where origin code didn't return any error which was
>> wrong. That's also not described in commit message and likely this should have
>> Fixed tag.
>>
> 
> Sorry, I don't think I fully understand your point.
> The original code already returns the error from
> devm_snd_soc_register_component():
> 
> ret = devm_snd_soc_register_component(dev, &xlnx_spdif_component,
>                                                                      dai_drv, 1);
> if (ret) {
> dev_err(dev, "SPDIF component registration failed\n");
> return ret;
> }
> 
> writel(XSPDIF_SOFT_RESET_VALUE, ctx->base + XSPDIF_SOFT_RESET_REG);
> dev_info(dev, "%s DAI registered\n", dai_drv->name);
> 
> return 0;
> 
> As I understand it, this patch only removes the redundant dev_err()
> call and still returns
> the same error code.
> Could you please clarify what you mean by "the original code didn't
> return any error"?

Sorry I misread this part. Please ignore my comment.

M



More information about the linux-arm-kernel mailing list