Messages in this thread | | | Subject | Re: [PATCH 1/2] net: phy: Helper function for reading strapped configuration values | From | Florian Fainelli <> | Date | Thu, 5 Apr 2018 09:00:13 -0700 |
| |
On 04/05/2018 04:44 AM, esben.haabendal@gmail.com wrote: > From: Esben Haabendal <eha@deif.com> > > 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 <eha@deif.com> > Cc: Rasmus Villemoes <rasmus.villemoes@prevas.dk> > --- > 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
| |