Re: [PATCH 2/5] dt-bindings: i2c: renesas,riic: Document R9A09G057 support

From: Krzysztof Kozlowski
Date: Sat Mar 09 2024 - 07:01:07 EST


On 08/03/2024 18:27, Prabhakar wrote:
> From: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx>
>
> Document support for the I2C Bus Interface (RIIC) available in the
> Renesas RZ/V2H (R9A09G057) SoC.
>
> The RIIC interface in the Renesas RZ/V2H differs from RZ/A in a
> couple of ways:
> - Register offsets for the RZ/V2H SoC differ from those of the RZ/A SoC.
> - RZ/V2H register access is 8-bit, whereas RZ/A supports 8/16/32-bit.
> - RZ/V2H has some bit differences in the slave address register.
>
> To accommodate these differences in the existing driver, a new compatible
> string "renesas,riic-r9a09g057" is added.
>
> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx>
> Reviewed-by: Fabrizio Castro <fabrizio.castro.jz@xxxxxxxxxxx>

I have doubts this are true reviews. What did it even show? Why this
review did not point problem with generic compatible?

> ---
> .../devicetree/bindings/i2c/renesas,riic.yaml | 21 ++++++++++++-------
> 1 file changed, 13 insertions(+), 8 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/i2c/renesas,riic.yaml b/Documentation/devicetree/bindings/i2c/renesas,riic.yaml
> index 63ac5fe3208d..2a7125688647 100644
> --- a/Documentation/devicetree/bindings/i2c/renesas,riic.yaml
> +++ b/Documentation/devicetree/bindings/i2c/renesas,riic.yaml
> @@ -15,14 +15,19 @@ allOf:
>
> properties:
> compatible:
> - items:
> - - enum:
> - - renesas,riic-r7s72100 # RZ/A1H
> - - renesas,riic-r7s9210 # RZ/A2M
> - - renesas,riic-r9a07g043 # RZ/G2UL and RZ/Five
> - - renesas,riic-r9a07g044 # RZ/G2{L,LC}
> - - renesas,riic-r9a07g054 # RZ/V2L
> - - const: renesas,riic-rz # generic RIIC compatible
> + oneOf:
> + - items:
> + - enum:
> + - renesas,riic-r7s72100 # RZ/A1H
> + - renesas,riic-r7s9210 # RZ/A2M
> + - renesas,riic-r9a07g043 # RZ/G2UL and RZ/Five
> + - renesas,riic-r9a07g044 # RZ/G2{L,LC}
> + - renesas,riic-r9a07g054 # RZ/V2L
> + - const: renesas,riic-rz # generic RIIC compatible
> +
> + - items:
> + - enum:
> + - renesas,riic-r9a09g057 # RZ/V2H(P)

No, that does not look right. If you added generic compatible for all
RIIC then how can you add a new RIIC compatible which does not follow
generic one?

This shows the ridiculousness of these generic compatibles. They are
generic till you figure out the truth: oh crap, it's not generic.

Stop adding generic compatibles when they are not generic.

Best regards,
Krzysztof