Re: [PATCH 8/9] i2c: imx-lpi2c: Use dev_err_probe in probe function

From: Andi Shyti
Date: Mon Aug 07 2023 - 07:55:14 EST


On Mon, Aug 07, 2023 at 06:44:23PM +0800, Liao, Chang wrote:
> Hi, Andi
>
> 在 2023/8/7 16:17, Andi Shyti 写道:
> > On Mon, Aug 07, 2023 at 10:13:30AM +0800, Liao, Chang wrote:
> >> Hi, Andi
> >>
> >> 在 2023/8/5 6:16, Andi Shyti 写道:
> >>> On Wed, Aug 02, 2023 at 05:57:36PM +0800, Liao Chang wrote:
> >>>> Use the dev_err_probe function instead of dev_err in the probe function
> >>>> so that the printed messge includes the return value and also handles
> >>>> -EPROBE_DEFER nicely.
> >>>>
> >>>> Signed-off-by: Liao Chang <liaochang1@xxxxxxxxxx>
> >>>> ---
> >>>> drivers/i2c/busses/i2c-imx-lpi2c.c | 12 ++++--------
> >>>> 1 file changed, 4 insertions(+), 8 deletions(-)
> >>>>
> >>>> diff --git a/drivers/i2c/busses/i2c-imx-lpi2c.c b/drivers/i2c/busses/i2c-imx-lpi2c.c
> >>>> index c3287c887c6f..bfa788b3775b 100644
> >>>> --- a/drivers/i2c/busses/i2c-imx-lpi2c.c
> >>>> +++ b/drivers/i2c/busses/i2c-imx-lpi2c.c
> >>>> @@ -569,10 +569,8 @@ static int lpi2c_imx_probe(struct platform_device *pdev)
> >>>> sizeof(lpi2c_imx->adapter.name));
> >>>>
> >>>> ret = devm_clk_bulk_get_all(&pdev->dev, &lpi2c_imx->clks);
> >>>> - if (ret < 0) {
> >>>> - dev_err(&pdev->dev, "can't get I2C peripheral clock, ret=%d\n", ret);
> >>>> - return ret;
> >>>> - }
> >>>> + if (ret < 0)
> >>>> + return dev_err_probe(&pdev->dev, ret, "can't get I2C peripheral clock\n");
> >>>
> >>> you cut on this because the line was going over 100 characters? :)
> >>>
> >>> In theory you shouldn't change the print message when doing such
> >>> changes and you can still split it as:
> >>>
> >>> return dev_err_probe(&pdev->dev, ret,
> >>> "can't get I2C peripheral clock, ret=%d\n",
> >>> ret);
> >>>
> >>> and you're even within the 80 characters.
> >>
> >> Since dev_err_probe always print the second parameter that happens to be the return value,
> >> I remove the "ret=%d" from the original message to avoid a redundant error message.
> >>
> >> So is it better to keep the original message unchanged, even though dev_err_probe also prints
> >> the return error value? Or is it better to make this change so that all error messages printed
> >> in the probe function include the return value in a consistent style?
> >
> > yes, you are right! Then please ignore this comment, but...
> >
> >>> ret = devm_request_irq(&pdev->dev, irq, lpi2c_imx_isr, 0,
> >>> pdev->name, lpi2c_imx);
> >>> - if (ret) {
> >>> - dev_err(&pdev->dev, "can't claim irq %d\n", irq);
> >>> - return ret;
> >>> - }
> >>> + if (ret)
> >>> + return dev_err_probe(&pdev->dev, ret, "can't claim irq %d\n", irq);
> >
> > please make it coherent to this second part, as well, where the
> > error number is printed.
>
> Do you mean to convert it to the following?
>
> if (ret)
> return dev_err_probe(&pdev->dev, ret, "can't claim irq\n");
>
> I understand that the style of error message printed by dev_err_probe is like
> "error [ERRNO]: [customized message]", the [ERRNO] comes from 2nd parameter,
> [customized message] comes from 3rd paramter, if the original [customized message]it
> also print ERRNO, i intend to remove it in this patch, otherwise, I will just keep it.
> In the above code, [customized message] intend to print irq but return value, so it is
> better to keep the original message, right?

sorry... I just got confused and read wrong the code. Please
ignore my comments on this patch, you are right here. Feel free
to add.

Reviewed-by: Andi Shyti <andi.shyti@xxxxxxxxxx>

Andi