在 2023/7/28 13:55, Uwe Kleine-König 写道: > Hello, > > On Fri, Jul 28, 2023 at 09:31:47AM +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 | 6 ++---- >> 1 file changed, 2 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/i2c/busses/i2c-imx-lpi2c.c b/drivers/i2c/busses/i2c-imx-lpi2c.c >> index c3287c887c6f..9021b8064ae4 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"); > > The change looks good, however I wonder why you didn't convert the other > dev_err() called by lpi2c_imx_probe() in the same way. Sorry, I am in hurry and don't clean it up as much as. Actually, I am not sure if I should convert all dev_err calls to dev_err_probe, or just replace the ones that print the 'return value'. I know that dev_err_probe is better suited for printing return values, but I am nore sure if it's worth the effort to convert all of the calls, for example, the second dev_err in lpi2c_imx_probe(): ret = devm_request_irq(&pdev->dev, irq, lpi2c_imx_isr, 0, pdev->name, lpi2c_imx); if (ret) dev_err(&pdev->dev, "can't claim rqi %d\n", irq); return ret; } Thanks. > > Best regards > Uwe > -- BR Liao, Chang