On Wed, Aug 02, 2023 at 05:57:37PM +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-synquacer.c | 19 ++++++------------- > 1 file changed, 6 insertions(+), 13 deletions(-) > > diff --git a/drivers/i2c/busses/i2c-synquacer.c b/drivers/i2c/busses/i2c-synquacer.c > index 4cc196ca8f6d..8ada613598eb 100644 > --- a/drivers/i2c/busses/i2c-synquacer.c > +++ b/drivers/i2c/busses/i2c-synquacer.c > @@ -557,11 +557,8 @@ static int synquacer_i2c_probe(struct platform_device *pdev) > dev_dbg(&pdev->dev, "clock source %p\n", i2c->pclk); > > ret = clk_prepare_enable(i2c->pclk); > - if (ret) { > - dev_err(&pdev->dev, "failed to enable clock (%d)\n", > - ret); > - return ret; > - } > + if (ret) > + return dev_err_probe(&pdev->dev, ret, "failed to enable clock\n"); > i2c->pclkrate = clk_get_rate(i2c->pclk); > } > you forgot dev_err(&pdev->dev, "PCLK missing or out of range (%d)\n", i2c->pclkrate); return -EINVAL; Thanks, Andi