Re: [PATCH 2/9] i2c: mlxbf: Use dev_err_probe in probe function

Andi Shyti
2023-08-01T21:33:35Z

Hi Liao,

On Fri, Jul 28, 2023 at 09:31:41AM +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@huawei.com>
> ---
> drivers/i2c/busses/i2c-mlxbf.c | 44 ++++++++++++----------------------
> 1 file changed, 15 insertions(+), 29 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-mlxbf.c b/drivers/i2c/busses/i2c-mlxbf.c
> index ae66bdd1b737..b5f2aa2fc1db 100644
> --- a/drivers/i2c/busses/i2c-mlxbf.c
> +++ b/drivers/i2c/busses/i2c-mlxbf.c
> @@ -2323,10 +2323,8 @@ static int mlxbf_i2c_probe(struct platform_device *pdev)
>
> ret = mlxbf_i2c_init_resource(pdev, &priv->smbus,
> MLXBF_I2C_SMBUS_RES);
> - if (ret < 0) {
> - dev_err(dev, "Cannot fetch smbus resource info");
> - return ret;
> - }
> + if (ret < 0)
> + return dev_err_probe(dev, ret, "Cannot fetch smbus resource info");
>
> priv->timer->io = priv->smbus->io;
> priv->mst->io = priv->smbus->io + MLXBF_I2C_MST_ADDR_OFFSET;
> @@ -2334,10 +2332,8 @@ static int mlxbf_i2c_probe(struct platform_device *pdev)
> } else {
> ret = mlxbf_i2c_init_resource(pdev, &priv->timer,
> MLXBF_I2C_SMBUS_TIMER_RES);
> - if (ret < 0) {
> - dev_err(dev, "Cannot fetch timer resource info");
> - return ret;
> - }
> + if (ret < 0)
> + return dev_err_probe(dev, ret, "Cannot fetch timer resource info");
>
> ret = mlxbf_i2c_init_resource(pdev, &priv->mst,
> MLXBF_I2C_SMBUS_MST_RES);

You forgot one here

return dev_err_probe(dev, "Cannot fetch master resource info");

Andi

> @@ -2348,25 +2344,19 @@ static int mlxbf_i2c_probe(struct platform_device *pdev)
>
> ret = mlxbf_i2c_init_resource(pdev, &priv->slv,
> MLXBF_I2C_SMBUS_SLV_RES);
> - if (ret < 0) {
> - dev_err(dev, "Cannot fetch slave resource info");
> - return ret;
> - }
> + if (ret < 0)
> + return dev_err_probe(dev, ret, "Cannot fetch slave resource info");