[PATCH v5 net-next 04/10] dt-bindings: net: dsa: utilize base definitions for standard dsa switches

Colin Foster colin.foster at in-advantage.com
Mon Dec 12 10:55:19 PST 2022


Hi Rob, Arınç,

On Mon, Dec 12, 2022 at 10:51:47AM -0600, Rob Herring wrote:
> On Mon, Dec 12, 2022 at 12:28:06PM +0300, Arınç ÜNAL wrote:
> > On 10.12.2022 21:02, Colin Foster wrote:
> > > Hi Arınç,
> > > On Sat, Dec 10, 2022 at 07:24:42PM +0300, Arınç ÜNAL wrote:
> > > > On 10.12.2022 06:30, Colin Foster wrote:
> > > --- a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
> > > +++ b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yam
> > > @@ -156,8 +156,7 @@ patternProperties:
> > > 
> > >       patternProperties:
> > >         "^(ethernet-)?port@[0-9]+$":
> > > -        type: object
> > > -
> > > +        $ref: dsa-port.yaml#
> > >           properties:
> > >             reg:
> > >               description:
> > > @@ -165,7 +164,6 @@ patternProperties:
> > >                 for user ports.
> > > 
> > >           allOf:
> > > -          - $ref: dsa-port.yaml#
> > >             - if:
> > >                 required: [ ethernet ]
> > >               then:
> > > 
> > > 
> > > 
> > > This one has me [still] scratching my head...
> > 
> > Right there with you. In addition to this, having or deleting type object
> > on/from "^(ethernet-)?ports$" and "^(ethernet-)?port@[0-9]+$" on dsa.yaml
> > doesn't cause any warnings (checked with make dt_binding_check
> > DT_SCHEMA_FILES=net/dsa) which makes me question why it's there in the first
> > place.
> 
> 
> That check probably doesn't consider an ref being under an 'allOf'. 
> Perhaps what is missing in understanding is every schema at the 
> top-level has an implicit 'type: object'. But nothing is ever implicit 
> in json-schema which will silently ignore keywords which don't make 
> sense for an instance type. Instead of a bunch of boilerplate, the 
> processed schema has 'type' added in lots of cases such as this one.
> 
> Rob

What do you suggest on this set? I think this is the only outstanding
issue, and Jakub brought up the possibility of applying end of today
(maybe 5-6 hours from now in the US).

It seems like there's an issue with the dt_bindings_check that causes
the "allOf: $ref" to throw a warning when it shouldn't. So removing the
"type: object" was supposed to be correct, but throws warnings.

It seems like keeping this patch as-is and updating it when the check
gets fixed might be an acceptable path, but I'd understand if you
disagree and prefer a resubmission.



More information about the linux-arm-kernel mailing list