diff mbox series

[v2,RESEND,1/2] dt-bindings: arm: Convert nuvoton,npcm750 binding to YAML

Message ID 20210303154622.3018839-1-j.neuschaefer@gmx.net
State Not Applicable, archived
Headers show
Series [v2,RESEND,1/2] dt-bindings: arm: Convert nuvoton,npcm750 binding to YAML | expand

Checks

Context Check Description
robh/checkpatch warning total: 0 errors, 2 warnings, 23 lines checked
robh/dt-meta-schema success
robh/dtbs-check fail build log

Commit Message

J. Neuschäfer March 3, 2021, 3:46 p.m. UTC
The general trend is to have devicetree bindings in YAML format, to
allow automatic validation of bindings and devicetrees.

Convert the NPCM SoC family's binding to YAML before it accumulates more
entries.

The nuvoton,npcm750-evb compatible string is introduced to keep the
structure of the binding a little simpler.

Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Reviewed-by: Rob Herring <robh@kernel.org>
---

If someone else wants to be listed as the maintainer, please let me
know.


v2:
- Fix indentation to satisfy yamllint
- Fix $schema line

v1:
- https://lore.kernel.org/lkml/20210108224008.705687-1-j.neuschaefer@gmx.net/
---
 .../devicetree/bindings/arm/npcm/npcm.txt     |  6 -----
 .../devicetree/bindings/arm/npcm/npcm.yaml    | 23 +++++++++++++++++++
 2 files changed, 23 insertions(+), 6 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/arm/npcm/npcm.txt
 create mode 100644 Documentation/devicetree/bindings/arm/npcm/npcm.yaml

--
2.29.2

Comments

J. Neuschäfer March 4, 2021, 3:42 p.m. UTC | #1
On Thu, Mar 04, 2021 at 05:21:36PM +0200, Tomer Maimon wrote:
> Hi Jonathan,
> 
> Thanks a lot for sending the patch,
> 
> I think that when it related to the SoC EVB it can stay with the
> genral compatible name nuvoton,npcm750
> 
> you can see it also in,
> https://github.com/torvalds/linux/blob/master/arch/arm/boot/dts/aspeed-ast2500-evb.dts#L8

To make the single compatible string match the DT binding, I'll have to
write the binding a little differently. I wrote it like this:

  compatible:
    oneOf:
      - description: NPCM750 based boards
        items:
          - enum:
              - nuvoton,npcm750-evb         # NPCM750 evaluation board
          - const: nuvoton,npcm750


I guess I could do something like this:

  compatible:
    oneOf:
      - description: NPCM750 development board
        const: nuvoton,npcm750


And later add this part, when needed:

      - description: NPCM750 based boards
        items:
          - enum:
              - vendor,foo-bar-bmc
          - const: nuvoton,npcm750


What do you think?


Thanks,
Jonathan Neuschäfer


> On Wed, 3 Mar 2021 at 17:47, Jonathan Neuschäfer <j.neuschaefer@gmx.net>
> wrote:
[...]
> >  / {
> >         model = "Nuvoton npcm750 Development Board (Device Tree)";
> > -       compatible = "nuvoton,npcm750";
> > +       compatible = "nuvoton,npcm750-evb", "nuvoton,npcm750";
Paul Menzel March 11, 2021, 2:14 p.m. UTC | #2
Dear Tomer,


Please note, your email date was around 11 minutes in the future.

As it looks like you are using Google Mail, I am quite surprised by this.


Kind regards,

Paul
J. Neuschäfer March 11, 2021, 3:15 p.m. UTC | #3
Hi Tomer,

your in-line reply got lost in the "> " lines, but I found it anyway.

On Thu, Mar 11, 2021 at 04:11:59PM +0200, Tomer Maimon wrote:
> Hi Jonathan,
> 
> Thanks a lot for your effort!
> 
> On Thu, 4 Mar 2021 at 17:42, Jonathan Neuschäfer <j.neuschaefer@gmx.net>
> wrote:
> 
> > On Thu, Mar 04, 2021 at 05:21:36PM +0200, Tomer Maimon wrote:
> > > Hi Jonathan,
> > >
> > > Thanks a lot for sending the patch,
> > >
> > > I think that when it related to the SoC EVB it can stay with the
> > > genral compatible name nuvoton,npcm750
> > >
> > > you can see it also in,
> > > https://github.com/torvalds/linux/blob/master/arch/arm/boot/dts/aspeed-ast2500-evb.dts#L8
> >
> > To make the single compatible string match the DT binding, I'll have to
> > write the binding a little differently. I wrote it like this:
> >
> >   compatible:
> >     oneOf:
> >       - description: NPCM750 based boards
> >         items:
> >           - enum:
> >               - nuvoton,npcm750-evb         # NPCM750 evaluation board
> >           - const: nuvoton,npcm750
> >
>
> I think it should be like the exemple above

If I specify the devicetree binding like above (which I initially did),
it implies that the compatible line in nuvoton-npcm750-evb.dts should be

	compatible = "nuvoton,npcm750-evb", "nuvoton,npcm750";

not

	compatible = "nuvoton,npcm750";


This is why I suggested rewriting it like below:

> >   compatible:
> >     oneOf:
> >       - description: NPCM750 development board
> >         const: nuvoton,npcm750
> >
> >       - description: NPCM750 based boards
> >         items:
> >           - enum:
> >               - vendor,foo-bar-bmc
> >           - const: nuvoton,npcm750


I will send this new approach as a patch in a few days.


Thanks,
Jonathan Neuschäfer
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/arm/npcm/npcm.txt b/Documentation/devicetree/bindings/arm/npcm/npcm.txt
deleted file mode 100644
index 2d87d9ecea85b..0000000000000
--- a/Documentation/devicetree/bindings/arm/npcm/npcm.txt
+++ /dev/null
@@ -1,6 +0,0 @@ 
-NPCM Platforms Device Tree Bindings
------------------------------------
-NPCM750 SoC
-Required root node properties:
-	- compatible = "nuvoton,npcm750";
-
diff --git a/Documentation/devicetree/bindings/arm/npcm/npcm.yaml b/Documentation/devicetree/bindings/arm/npcm/npcm.yaml
new file mode 100644
index 0000000000000..894aefb70652a
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/npcm/npcm.yaml
@@ -0,0 +1,23 @@ 
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/npcm/npcm.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: NPCM Platforms Device Tree Bindings
+
+maintainers:
+  - Jonathan Neuschäfer <j.neuschaefer@gmx.net>
+
+properties:
+  $nodename:
+    const: '/'
+  compatible:
+    oneOf:
+      - description: NPCM750 based boards
+        items:
+          - enum:
+              - nuvoton,npcm750-evb         # NPCM750 evaluation board
+          - const: nuvoton,npcm750
+
+additionalProperties: true