Message ID | 20230317233338.424864-4-andi.shyti@kernel.org |
---|---|
State | New |
Headers | show |
Series | Add the clock stretching i2c property | expand |
On Sat, Mar 18, 2023 at 12:33:38AM +0100, Andi Shyti wrote: > "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> Applied to for-next, thanks!
diff --git a/drivers/i2c/busses/i2c-mpc.c b/drivers/i2c/busses/i2c-mpc.c index 02baba2284e27..cfd074ee6d547 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-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)