[PATCH v2 2/2] i2c: mpc: Use i2c-scl-clk-low-timeout-ms i2c property

Andi Shyti posted 2 patches 2 years, 11 months ago
There is a newer version of this series
[PATCH v2 2/2] i2c: mpc: Use i2c-scl-clk-low-timeout-ms i2c property
Posted by Andi Shyti 2 years, 11 months ago
"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@kernel.org>
---
 drivers/i2c/busses/i2c-mpc.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/drivers/i2c/busses/i2c-mpc.c b/drivers/i2c/busses/i2c-mpc.c
index 81ac92bb4f6f..fe6279a353c6 100644
--- a/drivers/i2c/busses/i2c-mpc.c
+++ b/drivers/i2c/busses/i2c-mpc.c
@@ -846,7 +846,16 @@ static int fsl_i2c_probe(struct platform_device *op)
 			mpc_i2c_setup_8xxx(op->dev.of_node, i2c, clock);
 	}
 
-	prop = of_get_property(op->dev.of_node, "fsl,timeout", &plen);
+	prop = of_get_property(op->dev.of_node,
+			       "i2c-scl-clk-low-timeout-ms", &plen);
+
+	/*
+	 * ensuring back compatibility as
+	 * "fsl,timeout" is marked as deprecated
+	 */
+	if (!prop)
+		prop = of_get_property(op->dev.of_node, "fsl,timeout", &plen);
+
 	if (prop && plen == sizeof(u32)) {
 		mpc_ops.timeout = *prop * HZ / 1000000;
 		if (mpc_ops.timeout < 5)
-- 
2.39.2
Re: [PATCH v2 2/2] i2c: mpc: Use i2c-scl-clk-low-timeout-ms i2c property
Posted by Chris Packham 2 years, 11 months ago
On 13/03/23 03:55, 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@kernel.org>
> ---
>   drivers/i2c/busses/i2c-mpc.c | 11 ++++++++++-
>   1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/i2c/busses/i2c-mpc.c b/drivers/i2c/busses/i2c-mpc.c
> index 81ac92bb4f6f..fe6279a353c6 100644
> --- a/drivers/i2c/busses/i2c-mpc.c
> +++ b/drivers/i2c/busses/i2c-mpc.c
> @@ -846,7 +846,16 @@ static int fsl_i2c_probe(struct platform_device *op)
>   			mpc_i2c_setup_8xxx(op->dev.of_node, i2c, clock);
>   	}
>   
> -	prop = of_get_property(op->dev.of_node, "fsl,timeout", &plen);
> +	prop = of_get_property(op->dev.of_node,
> +			       "i2c-scl-clk-low-timeout-ms", &plen);
> +
> +	/*
> +	 * ensuring back compatibility as
> +	 * "fsl,timeout" is marked as deprecated
> +	 */
> +	if (!prop)
> +		prop = of_get_property(op->dev.of_node, "fsl,timeout", &plen);
> +
>   	if (prop && plen == sizeof(u32)) {
>   		mpc_ops.timeout = *prop * HZ / 1000000;
>   		if (mpc_ops.timeout < 5)

While you're here it might make sense to clean this up to use 
of_property_read_u32().

With or without that additional cleanup:

Reviewed-by: Chris Packham <chris.packham@alliedtelesis.co.nz>