Re: [PATCH net-next v3 12/12] dt-bindings: net: add Microchip's LAN865X 10BASE-T1S MACPHY

From: Conor Dooley
Date: Wed Mar 06 2024 - 14:01:23 EST


On Wed, Mar 06, 2024 at 07:48:57PM +0100, Andrew Lunn wrote:
> > > +description:
> > > + The LAN8650/1 combines a Media Access Controller (MAC) and an Ethernet
> > > + PHY to enable 10BASE‑T1S networks. The Ethernet Media Access Controller
> > > + (MAC) module implements a 10 Mbps half duplex Ethernet MAC, compatible
> > > + with the IEEE 802.3 standard and a 10BASE-T1S physical layer transceiver
> > > + integrated into the LAN8650/1. The communication between the Host and
> > > + the MAC-PHY is specified in the OPEN Alliance 10BASE-T1x MACPHY Serial
> > > + Interface (TC6).
> > > +
> > > +allOf:
> > > + - $ref: ethernet-controller.yaml#
> > > +
> > > +properties:
> > > + compatible:
> > > + oneOf:
> > > + - items:
> > > + - const: microchip,lan8650
> > > + - const: microchip,lan8651
> >
> > The order here is wrong, lan8561 needs to come before the fallback of
> > lan8650.
>
> I don't think it is a fallback. There are two devices, and hence two
> different compatibles. So i suspect the -items: is wrong here?

It'd just be a two entry enum then, but I did take a quick look at the
driver earlier and saw:
+static const struct of_device_id lan865x_dt_ids[] = {
+ { .compatible = "microchip,lan8650" },
+ { .compatible = "microchip,lan8651" },
+ { /* Sentinel */ }
+};

That, along with no other of_device_is_compatible() type operations
made me think that having a fallback actually was suitable.

You cropped it out, but the patch had:
> + compatible:
> + oneOf:
> + - items:
> + - const: microchip,lan8650
> + - const: microchip,lan8651
> + - enum:
> + - microchip,lan8650

So it doesn't appear to be an accidental items in place of an enum,
since the other compatible is in another enum.

I just noticed also that that enum should actually be const, so I'd
expect this to be:
compatible:
oneOf:
- items:
- const: microchip,lan8651
- const: microchip,lan8650

- const: microchip,lan8650

Attachment: signature.asc
Description: PGP signature