On Sat, Sep 16, 2023 at 02:08:52PM +0300, Arınç ÜNAL wrote: > Hello there. > > This patch series defines phylink bindings and enforces them for the > ethernet controllers that need them. > > Some schemas had to be changed to properly enforce phylink bindings for all > of the affected ethernet controllers. Some of the documents of these > ethernet controllers were non json-schema, which had to be converted. > > I will convert the remaining documents to json-schema while this patch > series receives reviews. I can't say that I'm comfortable with this. We appear to be defining bindings based on software implementation, and a desire for the DT tooling to enforce what the software implementation wants. Isn't this against the aims of device tree and device tree binding documentation? Seems to me like feature-creep. The bindings that phylink parses are already documented in the ethernet controller yaml document. Specifically: - phylink does not parse the phy-mode property, that is left to the implementation to pass to phylink, which can implement it any which way they choose (and even default to something.) - phylink does not require a phy property - phylink does expect a PHY to be attached, but how that PHY is attached is up to the ethernet controller driver. It may call one of the phylink functions that parses the phy property, or it may manually supply the phy device to phylink. Either way, phylink does not itself require a PHY property. - phylink does not require a sfp property - this obviously is optional. So, all in all, ethernet-controller already describes it, and to create a DT binding document that pretends that phylink requires any of this stuff is, in my mind, wrong. DSA requires certain properties by dint of the parsing and setup of phylink being in generic code - this is not because phylink requires certain properties, but phylink does require certain information in order to function correctly. The issue here is _how_ phylink gets that information, and as I state above, it _can_ come from DT, but it can also be given that information manually. As an example, there are plenty of drivers in the tree which try to parse a phy node, and if that's not present, they try to see if a PHY exists at a default# bus address. We seem to be digging outselves a hole here, where "phylink must have these properties". No, that is wrong. -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!