Re: [PATCH v3 3/3] i2c: mpc: Use i2c-scl-clk-low-timeout-ms i2c property
From: Chris Packham
Date: Sun Mar 12 2023 - 21:53:37 EST
On 13/03/23 12:36, Andi Shyti wrote:
> "fsl,timeout" is marked as deprecated and replaced by the
> "i2c-scl-clk-low-timeout-ms" i2c property.
>
> Use this latter and, in case it is missing, for back
> compatibility, check whether we still have "fsl,timeout" defined.
>
> Signed-off-by: Andi Shyti <andi.shyti@xxxxxxxxxx>
> Reviewed-by: Chris Packham <chris.packham@xxxxxxxxxxxxxxxxxxx>
Gave the patches a spin on a P2041RDB so
Tested-by: Chris Packham <chris.packham@xxxxxxxxxxxxxxxxxxx>
> ---
> drivers/i2c/busses/i2c-mpc.c | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/i2c/busses/i2c-mpc.c b/drivers/i2c/busses/i2c-mpc.c
> index 87e5c1725750..28f11e30ac50 100644
> --- a/drivers/i2c/busses/i2c-mpc.c
> +++ b/drivers/i2c/busses/i2c-mpc.c
> @@ -843,8 +843,18 @@ static int fsl_i2c_probe(struct platform_device *op)
> mpc_i2c_setup_8xxx(op->dev.of_node, i2c, clock);
> }
>
> + /*
> + * "fsl,timeout" has been marked as deprecated and, to maintain
> + * backward compatibility, we will only look for it if
> + * "i2c-scl-clk-low-timeout-ms" is not present.
> + */
> result = of_property_read_u32(op->dev.of_node,
> - "fsl,timeout", &mpc_ops.timeout);
> + "i2c-scl-clk-low-timeout-ms",
> + &mpc_ops.timeout);
> + if (result == -EINVAL)
> + result = of_property_read_u32(op->dev.of_node,
> + "fsl,timeout", &mpc_ops.timeout);
> +
> if (!result) {
> mpc_ops.timeout *= HZ / 1000000;
> if (mpc_ops.timeout < 5)