i2c: mpc: Use i2c-scl-clk-low-timeout-us i2c property
authorAndi Shyti <andi.shyti@kernel.org>
Fri, 17 Mar 2023 23:33:38 +0000 (00:33 +0100)
committerWolfram Sang <wsa@kernel.org>
Wed, 29 Mar 2023 19:08:34 +0000 (21:08 +0200)
"fsl,timeout" is marked as deprecated and replaced by the
"i2c-scl-clk-low-timeout-us" 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>
Reviewed-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Tested-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/i2c-mpc.c

index 02baba2284e2744ce553c2d0199dae12368a87fd..cfd074ee6d5479df6908d7c9d201cb32c9a2dfb8 100644 (file)
@@ -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-us" is not present.
+        */
        result = of_property_read_u32(op->dev.of_node,
-                                     "fsl,timeout", &mpc_ops.timeout);
+                                     "i2c-scl-clk-low-timeout-us",
+                                     &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)