On 2024/9/14 0:27, Doug Anderson wrote: > Hi, > > On Thu, Sep 12, 2024 at 11:44 PM Jinjie Ruan <ruanjinjie@xxxxxxxxxx> wrote: >> >> On 2024/9/12 21:38, Doug Anderson wrote: >>> Hi, >>> >>> On Wed, Sep 11, 2024 at 8:53 PM Jinjie Ruan <ruanjinjie@xxxxxxxxxx> wrote: >>>> >>>>>> @@ -1132,6 +1134,12 @@ static int spi_geni_probe(struct platform_device *pdev) >>>>>> if (ret) >>>>>> return ret; >>>>>> >>>>>> + ret = devm_add_action_or_reset(dev, spi_geni_release_dma_chan, mas); >>>>>> + if (ret) { >>>>>> + dev_err(dev, "Unable to add action.\n"); >>>>>> + return ret; >>>>>> + } >>>>> >>>>> Use dev_err_probe() to simplify. >>>>> >>>>> ret = devm_add_action_or_reset(dev, spi_geni_release_dma_chan, mas); >>>>> if (ret) >>>>> return dev_err_probe(dev, ret, "Unable to add action.\n"); >>>> >>>> It seems that if it only return -ENOMEM or 0, using dev_err_probe() has >>>> not not much value for many community maintainers. >>> >>> While I won't insist, it still has some value to use dev_err_probe() >>> as I talked about in commit 7065f92255bb ("driver core: Clarify that >>> dev_err_probe() is OK even w/out -EPROBE_DEFER") >> The main difference is that when use dev_err_probe(),there will print >> anything on -ENOMEM now. > > Oh, I see. You're saying that we should just get rid of the print > altogether because the only error case is -ENOMEM and the kernel > already splats there? Yeah, that sounds right to me. That doesn't > match what you did in v5, though... I think the following 2 soultion is both fine: 1、return ret directly. 2、dev_err() and return. > > -Doug