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

Message ID 20230312145546.262492-3-andi.shyti@kernel.org
State New
Headers
Series Add the clock stretching i2c property |

Commit Message

Andi Shyti March 12, 2023, 2:55 p.m. UTC
  "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(-)
  

Comments

Chris Packham March 12, 2023, 8:20 p.m. UTC | #1
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>
  

Patch

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)