From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Lunn Subject: Re: [PATCH] of: mdio: Support fixed links in of_phy_get_and_connect() Date: Wed, 11 Jul 2018 22:04:52 +0200 Message-ID: <20180711200452.GD21430@lunn.ch> References: <20180711174511.15308-1-linus.walleij@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Florian Fainelli , "David S . Miller" , netdev@vger.kernel.org, Laurent Pinchart To: Linus Walleij Return-path: Received: from vps0.lunn.ch ([185.16.172.187]:59696 "EHLO vps0.lunn.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726508AbeGKUKv (ORCPT ); Wed, 11 Jul 2018 16:10:51 -0400 Content-Disposition: inline In-Reply-To: <20180711174511.15308-1-linus.walleij@linaro.org> Sender: netdev-owner@vger.kernel.org List-ID: 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 > Signed-off-by: Linus Walleij Reviewed-by: Andrew Lunn 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