dt-bindings: hspi: Convert bindings to json-schema
diff mbox series

Message ID 20190913122151.20264-1-horms+renesas@verge.net.au
State Superseded
Delegated to: Geert Uytterhoeven
Headers show
Series
  • dt-bindings: hspi: Convert bindings to json-schema
Related show

Commit Message

Simon Horman Sept. 13, 2019, 12:21 p.m. UTC
Convert Renesas HSPI bindings documentation to json-schema.
Also name bindings documentation file according to the compat string
being documented.

As a side effect of this change all currently supported/used compat
strings are listed while no while card compat string is documented.
This, in my opinion, is desirable as only supported hardware should
be documented.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
Based on v5.3-rc1
Tested using:
  make dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/spi/renesas,hspi.yaml
---
 .../devicetree/bindings/spi/renesas,hspi.yaml      | 54 ++++++++++++++++++++++
 Documentation/devicetree/bindings/spi/sh-hspi.txt  | 26 -----------
 2 files changed, 54 insertions(+), 26 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/spi/renesas,hspi.yaml
 delete mode 100644 Documentation/devicetree/bindings/spi/sh-hspi.txt

Comments

Rob Herring Sept. 13, 2019, 8:22 p.m. UTC | #1
On Fri, Sep 13, 2019 at 7:22 AM Simon Horman <horms+renesas@verge.net.au> wrote:
>
> Convert Renesas HSPI bindings documentation to json-schema.
> Also name bindings documentation file according to the compat string
> being documented.
>
> As a side effect of this change all currently supported/used compat
> strings are listed while no while card compat string is documented.
> This, in my opinion, is desirable as only supported hardware should
> be documented.
>
> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
> ---
> Based on v5.3-rc1
> Tested using:
>   make dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/spi/renesas,hspi.yaml
> ---
>  .../devicetree/bindings/spi/renesas,hspi.yaml      | 54 ++++++++++++++++++++++
>  Documentation/devicetree/bindings/spi/sh-hspi.txt  | 26 -----------
>  2 files changed, 54 insertions(+), 26 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/spi/renesas,hspi.yaml
>  delete mode 100644 Documentation/devicetree/bindings/spi/sh-hspi.txt
>
> diff --git a/Documentation/devicetree/bindings/spi/renesas,hspi.yaml b/Documentation/devicetree/bindings/spi/renesas,hspi.yaml
> new file mode 100644
> index 000000000000..94a64a33daf4
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/spi/renesas,hspi.yaml
> @@ -0,0 +1,54 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/spi/renesas,hspi.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Renesas HSPI
> +
> +maintainers:
> +  - Geert Uytterhoeven <geert+renesas@glider.be>

Add:

allOf:
  - $ref: spi-controller.yaml#

> +
> +properties:
> +  compatible:
> +    items:
> +      - enum:
> +        - renesas,hspi-r8a7778 # R-Car M1A
> +        - renesas,hspi-r8a7779 # R-Car H1
> +      - const: renesas,hspi
> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +

> +  '#address-cells':
> +    const: 1
> +
> +  '#size-cells':
> +    const: 0

And then these 2 can be dropped.

> +
> +  # Pinctrl properties might be needed, too.
> +  # See Documentation/devicetree/bindings/pinctrl/renesas,*.

If only a single state, you don't. For multiple states, we need to
document the names.

If not present, then they get added automagically so that
'additionalProperties: false' works. But you can't use that here as
you'll have child nodes.

> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - '#address-cells'
> +  - '#size-cells'
> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +
> +    hspi0: spi@fffc7000 {
> +        compatible = "renesas,hspi-r8a7778", "renesas,hspi";
> +        reg = <0xfffc7000 0x18>;
> +        interrupt-parent = <&gic>;
> +        interrupts = <0 63 IRQ_TYPE_LEVEL_HIGH>;
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +    };
> +
Simon Horman Sept. 16, 2019, 7:54 a.m. UTC | #2
On Fri, Sep 13, 2019 at 03:22:10PM -0500, Rob Herring wrote:
> On Fri, Sep 13, 2019 at 7:22 AM Simon Horman <horms+renesas@verge.net.au> wrote:
> >
> > Convert Renesas HSPI bindings documentation to json-schema.
> > Also name bindings documentation file according to the compat string
> > being documented.
> >
> > As a side effect of this change all currently supported/used compat
> > strings are listed while no while card compat string is documented.
> > This, in my opinion, is desirable as only supported hardware should
> > be documented.
> >
> > Signed-off-by: Simon Horman <horms+renesas@verge.net.au>

Hi Rob,

thanks for your review. I have sent v2 which I believe addresses
the issues you have raised.

> > ---
> > Based on v5.3-rc1
> > Tested using:
> >   make dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/spi/renesas,hspi.yaml
> > ---
> >  .../devicetree/bindings/spi/renesas,hspi.yaml      | 54 ++++++++++++++++++++++
> >  Documentation/devicetree/bindings/spi/sh-hspi.txt  | 26 -----------
> >  2 files changed, 54 insertions(+), 26 deletions(-)
> >  create mode 100644 Documentation/devicetree/bindings/spi/renesas,hspi.yaml
> >  delete mode 100644 Documentation/devicetree/bindings/spi/sh-hspi.txt
> >
> > diff --git a/Documentation/devicetree/bindings/spi/renesas,hspi.yaml b/Documentation/devicetree/bindings/spi/renesas,hspi.yaml
> > new file mode 100644
> > index 000000000000..94a64a33daf4
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/spi/renesas,hspi.yaml
> > @@ -0,0 +1,54 @@
> > +# SPDX-License-Identifier: GPL-2.0
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/spi/renesas,hspi.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Renesas HSPI
> > +
> > +maintainers:
> > +  - Geert Uytterhoeven <geert+renesas@glider.be>
> 
> Add:
> 
> allOf:
>   - $ref: spi-controller.yaml#
> 
> > +
> > +properties:
> > +  compatible:
> > +    items:
> > +      - enum:
> > +        - renesas,hspi-r8a7778 # R-Car M1A
> > +        - renesas,hspi-r8a7779 # R-Car H1
> > +      - const: renesas,hspi
> > +
> > +  reg:
> > +    maxItems: 1
> > +
> > +  interrupts:
> > +    maxItems: 1
> > +
> 
> > +  '#address-cells':
> > +    const: 1
> > +
> > +  '#size-cells':
> > +    const: 0
> 
> And then these 2 can be dropped.
> 
> > +
> > +  # Pinctrl properties might be needed, too.
> > +  # See Documentation/devicetree/bindings/pinctrl/renesas,*.
> 
> If only a single state, you don't. For multiple states, we need to
> document the names.
> 
> If not present, then they get added automagically so that
> 'additionalProperties: false' works. But you can't use that here as
> you'll have child nodes.
> 
> > +
> > +required:
> > +  - compatible
> > +  - reg
> > +  - interrupts
> > +  - '#address-cells'
> > +  - '#size-cells'
> > +
> > +examples:
> > +  - |
> > +    #include <dt-bindings/interrupt-controller/irq.h>
> > +
> > +    hspi0: spi@fffc7000 {
> > +        compatible = "renesas,hspi-r8a7778", "renesas,hspi";
> > +        reg = <0xfffc7000 0x18>;
> > +        interrupt-parent = <&gic>;
> > +        interrupts = <0 63 IRQ_TYPE_LEVEL_HIGH>;
> > +        #address-cells = <1>;
> > +        #size-cells = <0>;
> > +    };
> > +
>

Patch
diff mbox series

diff --git a/Documentation/devicetree/bindings/spi/renesas,hspi.yaml b/Documentation/devicetree/bindings/spi/renesas,hspi.yaml
new file mode 100644
index 000000000000..94a64a33daf4
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/renesas,hspi.yaml
@@ -0,0 +1,54 @@ 
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/spi/renesas,hspi.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Renesas HSPI
+
+maintainers:
+  - Geert Uytterhoeven <geert+renesas@glider.be>
+
+properties:
+  compatible:
+    items:
+      - enum:
+        - renesas,hspi-r8a7778 # R-Car M1A
+        - renesas,hspi-r8a7779 # R-Car H1
+      - const: renesas,hspi
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  '#address-cells':
+    const: 1
+
+  '#size-cells':
+    const: 0
+
+  # Pinctrl properties might be needed, too.
+  # See Documentation/devicetree/bindings/pinctrl/renesas,*.
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - '#address-cells'
+  - '#size-cells'
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+
+    hspi0: spi@fffc7000 {
+        compatible = "renesas,hspi-r8a7778", "renesas,hspi";
+        reg = <0xfffc7000 0x18>;
+        interrupt-parent = <&gic>;
+        interrupts = <0 63 IRQ_TYPE_LEVEL_HIGH>;
+        #address-cells = <1>;
+        #size-cells = <0>;
+    };
+
diff --git a/Documentation/devicetree/bindings/spi/sh-hspi.txt b/Documentation/devicetree/bindings/spi/sh-hspi.txt
deleted file mode 100644
index b9d1e4d11a77..000000000000
--- a/Documentation/devicetree/bindings/spi/sh-hspi.txt
+++ /dev/null
@@ -1,26 +0,0 @@ 
-Renesas HSPI.
-
-Required properties:
-- compatible       : "renesas,hspi-<soctype>", "renesas,hspi" as fallback.
-		     Examples with soctypes are:
-		       - "renesas,hspi-r8a7778" (R-Car M1)
-		       - "renesas,hspi-r8a7779" (R-Car H1)
-- reg              : Offset and length of the register set for the device
-- interrupts       : Interrupt specifier
-- #address-cells   : Must be <1>
-- #size-cells      : Must be <0>
-
-Pinctrl properties might be needed, too.  See
-Documentation/devicetree/bindings/pinctrl/renesas,*.
-
-Example:
-
-	hspi0: spi@fffc7000 {
-		compatible = "renesas,hspi-r8a7778", "renesas,hspi";
-		reg = <0xfffc7000 0x18>;
-		interrupt-parent = <&gic>;
-		interrupts = <0 63 IRQ_TYPE_LEVEL_HIGH>;
-		#address-cells = <1>;
-		#size-cells = <0>;
-	};
-