Re: [PATCH v1 3/7] dt-bindings: net: Add bindings for StarFive dwmac

Rob Herring
2022-12-01T19:34:33Z

On Thu, Dec 01, 2022 at 05:35:37PM +0000, Conor Dooley wrote:
> On Thu, Dec 01, 2022 at 05:21:04PM +0100, Krzysztof Kozlowski wrote:
> > On 01/12/2022 10:02, Yanhong Wang wrote:
> > > Add bindings for the StarFive dwmac module on the StarFive RISC-V SoCs.
> >
> > Subject: drop second, redundant "bindings".
> >
> > >
> > > Signed-off-by: Yanhong Wang <yanhong.wang@starfivetech.com>
> > > ---
> > > .../devicetree/bindings/net/snps,dwmac.yaml | 1 +
> > > +properties:
> > > + compatible:
> > > + oneOf:
> >
> > Drop oneOf. You do not have more cases here.
> >
> > > + - items:
> > > + - enum:
> > > + - starfive,dwmac
> >
> > Wrong indentation.... kind of expected since you did not test the bindings.
> >
> > > + - const: snps,dwmac-5.20
>
> Disclaimer: no familiarity with the version info with DW stuff
>
> Is it a bit foolish to call this binding "starfive,dwmac"? Could there
> not be another StarFive SoC in the future that uses another DW mac IP
> version & this would be better off as "starfive,jh7110-dwmac" or similar?

Yes. Really, *only* "starfive,jh7110-dwmac" is enough IMO.

The question is what would the OS do with only understanding
"snps,dwmac-5.20"? The answer is typically nothing because it isn't
enough information to act on. So that compatible is not needed. Maybe
the driver can do some things based on version, but that can be implied
from the compatible (if not read from a register). And often, the exact
version is not known, so do you want to hardcode a guess in DT? For
these reasons, we've moved away from using these generic IP compatibles
(with or without versions).

Rob