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

From: Rob Herring <[email-masked]>
Date: Fri, 28 Feb 2025 07:38:11 -0600

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 <[email-masked]>
> > > > > > ---
> > > > [...]
> > > > > > +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