From mboxrd@z Thu Jan 1 00:00:00 1970 From: Florian Fainelli Subject: Re: [PATCH 1/2] net: phy: Helper function for reading strapped configuration values Date: Thu, 5 Apr 2018 09:00:13 -0700 Message-ID: <49448b00-e3fd-25df-580e-c02428f1bfe6@gmail.com> References: <20180405114424.8519-1-esben.haabendal@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit Cc: Esben Haabendal , Rasmus Villemoes To: esben.haabendal@gmail.com, Andrew Lunn , "open list:ETHERNET PHY LIBRARY" , open list Return-path: In-Reply-To: <20180405114424.8519-1-esben.haabendal@gmail.com> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org On 04/05/2018 04:44 AM, esben.haabendal@gmail.com wrote: > From: Esben Haabendal > > Add a function for use in PHY driver probe functions, reading current > autoneg, speed and duplex configuration from BMCR register. > > Useful for PHY that supports hardware strapped configuration, enabling > Linux to respect that configuration (i.e. strapped non-autoneg > configuration). > > Signed-off-by: Esben Haabendal > Cc: Rasmus Villemoes > --- > drivers/net/phy/phy_device.c | 41 +++++++++++++++++++++++++++++++++++++++++ > include/linux/phy.h | 1 + > 2 files changed, 42 insertions(+) > > diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c > index 74664a6c0cdc..cc52ff2a2344 100644 > --- a/drivers/net/phy/phy_device.c > +++ b/drivers/net/phy/phy_device.c > @@ -1673,6 +1673,47 @@ int genphy_config_init(struct phy_device *phydev) > } > EXPORT_SYMBOL(genphy_config_init); > > +/** > + * genphy_read_config - read configuration from PHY > + * @phydev: target phy_device struct > + * > + * Description: Reads MII_BMCR and sets phydev autoneg, speed and duplex > + * accordingly. For use in driver probe functions, to respect strapped > + * configuration settings. > + */ > +int genphy_read_config(struct phy_device *phydev) This duplicates what already exists, in part at least within genphy_read_status() can you find a way to use that? I really wonder how this is going to work though because an user can decide to force the PHY to have auto-negotiation disabled just like a MAC could actually attempt to do that while connecting to the PHY... more comments in patch 2. -- Florian