On Wed, Jul 11, 2018 at 07:45:11PM +0200, Linus Walleij wrote: > By a simple extension of of_phy_get_and_connect() drivers > that have a fixed link on e.g. RGMII can support also > fixed links, so in addition to: > > ethernet-port { > phy-mode = "rgmii"; > phy-handle = <&foo>; > }; > > This setup with a fixed-link node and no phy-handle will > now also work just fine: > > ethernet-port { > phy-mode = "rgmii"; > fixed-link { > speed = <1000>; > full-duplex; > pause; > }; > }; > > This is very helpful for connecting random ethernet ports > to e.g. DSA switches that typically reside on fixed links. > > The phy-mode is still there as the fixes link in this case > is still an RGMII link. > > Tested on the Cortina Gemini driver with the Vitesse DSA > router chip on a fixed 1Gbit link. > > Suggested-by: Andrew Lunn <and...@lunn.ch> > Signed-off-by: Linus Walleij <linus.wall...@linaro.org>
Reviewed-by: Andrew Lunn <and...@lunn.ch> What probably make sense as a followup is add a of_phy_disconnect_and_put(). When the module is unloaded, you leak a fixed link, because of_phy_deregister_fixed_link() is not being called. You also hold a reference to np which does not appear to be released. Andrew