[2/2] i2c: mpc: Use the i2c-scl-clk-low-timeout-ms property
Commit Message
Now we have the i2c-scl-clk-low-timeout-ms property defined in
the binding. Use it and remove the previous "fsl,timeout".
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Cc: Chris Packham <chris.packham@alliedtelesis.co.nz>
---
Documentation/devicetree/bindings/i2c/i2c-mpc.yaml | 12 ++++++------
drivers/i2c/busses/i2c-mpc.c | 3 ++-
2 files changed, 8 insertions(+), 7 deletions(-)
Comments
On 12/03/2023 14:19, Andi Shyti wrote:
> Now we have the i2c-scl-clk-low-timeout-ms property defined in
> the binding. Use it and remove the previous "fsl,timeout".
>
> Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
> Cc: Chris Packham <chris.packham@alliedtelesis.co.nz>
> ---
> Documentation/devicetree/bindings/i2c/i2c-mpc.yaml | 12 ++++++------
> drivers/i2c/busses/i2c-mpc.c | 3 ++-
> 2 files changed, 8 insertions(+), 7 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/i2c/i2c-mpc.yaml b/Documentation/devicetree/bindings/i2c/i2c-mpc.yaml
> index 018e1b944424..c01547585456 100644
> --- a/Documentation/devicetree/bindings/i2c/i2c-mpc.yaml
> +++ b/Documentation/devicetree/bindings/i2c/i2c-mpc.yaml
> @@ -41,11 +41,6 @@ properties:
> if defined, the clock settings from the bootloader are
> preserved (not touched)
>
> - fsl,timeout:
> - $ref: /schemas/types.yaml#/definitions/uint32
> - description: |
> - I2C bus timeout in microseconds
Instead:
deprecated: true
> -
> fsl,i2c-erratum-a004447:
> $ref: /schemas/types.yaml#/definitions/flag
> description: |
> @@ -53,6 +48,11 @@ properties:
> says that the standard i2c recovery scheme mechanism does
> not work and an alternate implementation is needed.
>
> + i2c-scl-clk-low-timeout-ms:
> + description:
> + Indicates the SCL timeouts which used to force the client
> + into a waiting state
No need for this - will be coming from dtschema.
> +
> required:
> - compatible
> - reg
> @@ -95,6 +95,6 @@ examples:
> interrupts = <43 2>;
> interrupt-parent = <&mpic>;
> clock-frequency = <400000>;
> - fsl,timeout = <10000>;
> + i2c-scl-clk-low-timeout-ms = <10000>;
> };
> ...
> diff --git a/drivers/i2c/busses/i2c-mpc.c b/drivers/i2c/busses/i2c-mpc.c
> index 81ac92bb4f6f..93c484efc3f3 100644
> --- a/drivers/i2c/busses/i2c-mpc.c
> +++ b/drivers/i2c/busses/i2c-mpc.c
> @@ -846,7 +846,8 @@ 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);
That's an ABI break. You need to keep old code as fallback.
Best regards,
Krzysztof
On 12/03/2023 14:19, Andi Shyti wrote:
> Now we have the i2c-scl-clk-low-timeout-ms property defined in
> the binding. Use it and remove the previous "fsl,timeout".
>
> Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
> Cc: Chris Packham <chris.packham@alliedtelesis.co.nz>
> ---
> Documentation/devicetree/bindings/i2c/i2c-mpc.yaml | 12 ++++++------
Ah, and I forgot: bindings are always separate patches from driver
changes. Cannot be mixed.
Best regards,
Krzysztof
Hi Krzysztof,
On Sun, Mar 12, 2023 at 02:44:47PM +0100, Krzysztof Kozlowski wrote:
> On 12/03/2023 14:19, Andi Shyti wrote:
> > Now we have the i2c-scl-clk-low-timeout-ms property defined in
> > the binding. Use it and remove the previous "fsl,timeout".
> >
> > Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
> > Cc: Chris Packham <chris.packham@alliedtelesis.co.nz>
> > ---
> > Documentation/devicetree/bindings/i2c/i2c-mpc.yaml | 12 ++++++------
>
> Ah, and I forgot: bindings are always separate patches from driver
> changes. Cannot be mixed.
Thanks for all your comments, will send a v2.
Andi
@@ -41,11 +41,6 @@ properties:
if defined, the clock settings from the bootloader are
preserved (not touched)
- fsl,timeout:
- $ref: /schemas/types.yaml#/definitions/uint32
- description: |
- I2C bus timeout in microseconds
-
fsl,i2c-erratum-a004447:
$ref: /schemas/types.yaml#/definitions/flag
description: |
@@ -53,6 +48,11 @@ properties:
says that the standard i2c recovery scheme mechanism does
not work and an alternate implementation is needed.
+ i2c-scl-clk-low-timeout-ms:
+ description:
+ Indicates the SCL timeouts which used to force the client
+ into a waiting state
+
required:
- compatible
- reg
@@ -95,6 +95,6 @@ examples:
interrupts = <43 2>;
interrupt-parent = <&mpic>;
clock-frequency = <400000>;
- fsl,timeout = <10000>;
+ i2c-scl-clk-low-timeout-ms = <10000>;
};
...
@@ -846,7 +846,8 @@ 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);
if (prop && plen == sizeof(u32)) {
mpc_ops.timeout = *prop * HZ / 1000000;
if (mpc_ops.timeout < 5)