Re: [PATCH 1/3] dt-bindings: net: Convert fsl,gianfar-{mdio,tbi} to YAML
From: J. Neuschäfer
Date: Wed Feb 26 2025 - 09:59:27 EST
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:"?
> Add a comment somewhere that this is all because of a reuse of gianfar.
Will do.
>
> > device_type:
> > const: mdio
> >
> > required:
> > - compatible
> > - device_type
>
> You can move 'required: [compatible]' out of the oneOf.
Will do.
Thanks,
J. Neuschäfer