linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Chris Packham <Chris.Packham@alliedtelesis.co.nz>
Cc: "davem@davemloft.net" <davem@davemloft.net>,
	"edumazet@google.com" <edumazet@google.com>,
	"kuba@kernel.org" <kuba@kernel.org>,
	"pabeni@redhat.com" <pabeni@redhat.com>,
	"krzysztof.kozlowski+dt@linaro.org"
	<krzysztof.kozlowski+dt@linaro.org>,
	"andrew@lunn.ch" <andrew@lunn.ch>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"Marek Behún" <kabel@kernel.org>
Subject: Re: [PATCH v2] dt-bindings: net: orion-mdio: Convert to JSON schema
Date: Wed, 18 May 2022 11:18:52 -0500	[thread overview]
Message-ID: <20220518161852.GD3302100-robh@kernel.org> (raw)
In-Reply-To: <cf956c25-f505-6ec0-260c-496c7d1322a1@alliedtelesis.co.nz>

On Mon, May 16, 2022 at 10:27:42PM +0000, Chris Packham wrote:
> 
> On 17/05/22 10:18, Chris Packham wrote:
> > Hi Rob,
> >
> > On 17/05/22 06:16, Rob Herring wrote:
> >> On Fri, May 06, 2022 at 09:06:20AM +1200, Chris Packham wrote:
> >>> Convert the marvell,orion-mdio binding to JSON schema.
> >>>
> >>> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
> >>> ---
> >>>
> >>> Notes:
> >>>      This does throw up the following dtbs_check warnings for 
> >>> turris-mox:
> >>> arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dtb: mdio@32004: 
> >>> switch0@10:reg: [[16], [0]] is too long
> >>>              From schema: 
> >>> Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
> >>>      arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dtb: 
> >>> mdio@32004: switch0@2:reg: [[2], [0]] is too long
> >>>              From schema: 
> >>> Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
> >>>      arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dtb: 
> >>> mdio@32004: switch1@11:reg: [[17], [0]] is too long
> >>>              From schema: 
> >>> Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
> >>>      arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dtb: 
> >>> mdio@32004: switch1@2:reg: [[2], [0]] is too long
> >>>              From schema: 
> >>> Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
> >>>      arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dtb: 
> >>> mdio@32004: switch2@12:reg: [[18], [0]] is too long
> >>>              From schema: 
> >>> Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
> >>>      arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dtb: 
> >>> mdio@32004: switch2@2:reg: [[2], [0]] is too long
> >>>              From schema: 
> >>> Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
> >>>           I think they're all genuine but I'm hesitant to leap in 
> >>> and fix them
> >>>      without being able to test them.
> >>>           I also need to set unevaluatedProperties: true to cater 
> >>> for the L2
> >>>      switch on turris-mox (and probably others). That might be 
> >>> better tackled
> >>>      in the core mdio.yaml schema but I wasn't planning on touching 
> >>> that.
> >>>           Changes in v2:
> >>>      - Add Andrew as maintainer (thanks for volunteering)
> >>>
> >>>   .../bindings/net/marvell,orion-mdio.yaml      | 60 
> >>> +++++++++++++++++++
> >>>   .../bindings/net/marvell-orion-mdio.txt       | 54 -----------------
> >>>   2 files changed, 60 insertions(+), 54 deletions(-)
> >>>   create mode 100644 
> >>> Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
> >>>   delete mode 100644 
> >>> Documentation/devicetree/bindings/net/marvell-orion-mdio.txt
> >>>
> >>> diff --git 
> >>> a/Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml 
> >>> b/Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
> >>> new file mode 100644
> >>> index 000000000000..fe3a3412f093
> >>> --- /dev/null
> >>> +++ b/Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
> >>> @@ -0,0 +1,60 @@
> >>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> >>> +%YAML 1.2
> >>> +---
> >>> +$id: 
> >>> http://scanmail.trustwave.com/?c=20988&d=j5WC4r_pZnDMILajH1kaKLL9oC7kQjgv_bkDWJOhEQ&u=http%3a%2f%2fdevicetree%2eorg%2fschemas%2fnet%2fmarvell%2corion-mdio%2eyaml%23
> >>> +$schema: 
> >>> http://scanmail.trustwave.com/?c=20988&d=j5WC4r_pZnDMILajH1kaKLL9oC7kQjgv_e4CDcetEw&u=http%3a%2f%2fdevicetree%2eorg%2fmeta-schemas%2fcore%2eyaml%23
> >>> +
> >>> +title: Marvell MDIO Ethernet Controller interface
> >>> +
> >>> +maintainers:
> >>> +  - Andrew Lunn <andrew@lunn.ch>
> >>> +
> >>> +description: |
> >>> +  The Ethernet controllers of the Marvel Kirkwood, Dove, Orion5x, 
> >>> MV78xx0,
> >>> +  Armada 370, Armada XP, Armada 7k and Armada 8k have an identical 
> >>> unit that
> >>> +  provides an interface with the MDIO bus. Additionally, Armada 7k 
> >>> and Armada
> >>> +  8k has a second unit which provides an interface with the xMDIO 
> >>> bus. This
> >>> +  driver handles these interfaces.
> >>> +
> >>> +allOf:
> >>> +  - $ref: "mdio.yaml#"
> >>> +
> >>> +properties:
> >>> +  compatible:
> >>> +    enum:
> >>> +      - marvell,orion-mdio
> >>> +      - marvell,xmdio
> >>> +
> >>> +  reg:
> >>> +    maxItems: 1
> >>> +
> >>> +  interrupts:
> >>> +    maxItems: 1
> >>> +
> >>> +  clocks:
> >>> +    minItems: 1
> >>> +    maxItems: 4
> >> Really this should be better defined, but the original was not.
> >>
> >>> +
> >>> +required:
> >>> +  - compatible
> >>> +  - reg
> >>> +
> >>> +unevaluatedProperties: true
> >> This must be false.
> >
> > Right now there is no way (that I have found) of dealing with non-PHY 
> > devices like the dsa switches so setting this to false generates 
> > warnings on turris-mox:
> >
> > arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dtb: mdio@32004: 
> > Unevaluated properties are not allowed ('#address-cells', 
> > '#size-cells', 'ethernet-phy@1', 'switch0@10', 'switch0@2', 
> > 'switch1@11', 'switch1@2', 'switch2@12', 'switch2@2' were unexpected)
> >         From schema: 
> > /home/chrisp/src/linux/Documentation/devicetree/bindings/net/marvell,orion-mdio.yaml
> >
> > There are also warnings about the size of the reg property but these 
> > seem to be genuine problems that Marek is looking at.
> Actually it looks if I fix the reg problem the need for 
> unevaluatedProperties goes away. I'll whip up a small patch series on 
> top of net-next.

Yeah, it's confusing. It seems 'evaluated and failed' counts as 
unevaluated. Seems to be a quirk of json-schema itself rather than the 
specific implementation AFAICT.

Rob

      reply	other threads:[~2022-05-18 16:19 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-05 21:06 [PATCH v2] dt-bindings: net: orion-mdio: Convert to JSON schema Chris Packham
2022-05-10  0:28 ` Jakub Kicinski
2022-05-10  0:41   ` Andrew Lunn
2022-05-10  0:43     ` Jakub Kicinski
2022-05-16 18:14     ` Rob Herring
2022-05-10  0:47   ` Chris Packham
2022-05-10 23:12 ` Andrew Lunn
2022-05-11  2:20 ` patchwork-bot+netdevbpf
2022-05-16 18:16 ` Rob Herring
2022-05-16 22:18   ` Chris Packham
2022-05-16 22:27     ` Chris Packham
2022-05-18 16:18       ` Rob Herring [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220518161852.GD3302100-robh@kernel.org \
    --to=robh@kernel.org \
    --cc=Chris.Packham@alliedtelesis.co.nz \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=edumazet@google.com \
    --cc=kabel@kernel.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).