Re: [PATCH 1/3] dt-bindings: net: Convert fsl,gianfar-{mdio,tbi} to YAML

From: Rob Herring
Date: Fri Feb 28 2025 - 08:38:27 EST


On Wed, Feb 26, 2025 at 02:59:06PM +0000, J. Neuschäfer wrote:
> On Wed, Feb 26, 2025 at 07:31:14AM -0600, Rob Herring wrote:
> > On Tue, Feb 25, 2025 at 11:12:42AM +0000, J. Neuschäfer wrote:
> > > On Mon, Feb 24, 2025 at 08:58:19PM +0000, J. Neuschäfer wrote:
> > > > On Fri, Feb 21, 2025 at 10:36:51AM -0600, Rob Herring wrote:
> > > > > On Thu, Feb 20, 2025 at 06:29:21PM +0100, J. Neuschäfer wrote:
> > > > > > Move the information related to the Freescale Gianfar (TSEC) MDIO bus
> > > > > > and the Ten-Bit Interface (TBI) from fsl-tsec-phy.txt to a new binding
> > > > > > file in YAML format, fsl,gianfar-mdio.yaml.
> > > > > >
> > > > > > Signed-off-by: J. Neuschäfer <j.ne@xxxxxxxxxx>
> > > > > > ---
> > > > [...]
> > > > > > +properties:
> > > > > > + compatible:
> > > > > > + enum:
> > > > > > + - fsl,gianfar-tbi
> > > > > > + - fsl,gianfar-mdio
> > > > > > + - fsl,etsec2-tbi
> > > > > > + - fsl,etsec2-mdio
> > > > > > + - fsl,ucc-mdio
> > > > > > + - gianfar
> > > > >
> > > > > Can you just comment out this to avoid the duplicate issue.
> > > > >
> > > > > Though I think if you write a custom 'select' which looks for
> > > > > 'device_type = "mdio"' with gianfar compatible and similar in the other
> > > > > binding, then the warning will go away.
> > > >
> > > > I'm not sure how the 'select' syntax works, is there a reference
> > > > document I could read?
> > >
> > > Ok, I think I figured it out, this seems to work as intended:
> > >
> >
> > Looks pretty good.
> >
> > >
> > > select:
> > > oneOf:
> > > - properties:
> > > compatible:
> >
> > Add "contains" here. That way if someone puts another string in with
> > these we still match and then throw a warning.
>
> Good idea.
>
> >
> > > enum:
> > > - fsl,gianfar-tbi
> > > - fsl,gianfar-mdio
> > > - fsl,etsec2-tbi
> > > - fsl,etsec2-mdio
> > > - fsl,ucc-mdio
> > >
> > > required:
> > > - compatible
> > >
> > > - properties:
> > > compatible:
> > > enum:
> > > - gianfar
> > > - ucc_geth_phy
> >
> > You could move ucc_geth_phy because there's not a collision with it.
>
> ucc_geth_phy also requires device_type = "mdio". It is more compact
> to write it like this, but perhaps clarity wins out here, and this
> requirement should be expressed with an "if:"?

Yes, an if/then schema outside of the select would be fine.

Rob