Subject: Re: [RFC PATCH net-next 03/24] phy: Use phy_read() instead of mdiobus_read()

From: Andrew Lunn <[email-masked]>
Date: Tue, 5 Jan 2016 14:40:33 +0100

On Mon, Jan 04, 2016 at 12:07:43PM -0800, Florian Fainelli wrote:
> On 04/01/16 09:36, Andrew Lunn wrote:
> > Since we have a phydev, make use of it and the phy_read() function.
> > This will help with later refactoring.
> > 
> > Signed-off-by: Andrew Lunn <[email-masked]>
> > ---
> 
> [snip]
> 
> 
> > diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
> > index 47cd306dbb3c..67a77956ae6f 100644
> > --- a/drivers/net/phy/phy.c
> > +++ b/drivers/net/phy/phy.c
> > @@ -407,8 +407,7 @@ int phy_mii_ioctl(struct phy_device *phydev, struct ifreq *ifr, int cmd)
> >  		/* fall through */
> >  
> >  	case SIOCGMIIREG:
> > -		mii_data->val_out = mdiobus_read(phydev->bus, mii_data->phy_id,
> > -						 mii_data->reg_num);
> > +		mii_data->val_out = phy_read(phydev, mii_data->reg_num);
> >  		return 0;
> 
> Do we have any guarantee that users of this interface do a prior
> SIOCGMIIPHY ioctl() to select the PHY address? If not, then this change
> forces it. Arguably, you are current allowed to issue MII reads/writes
> using a PHY device that can be different from the intent, that does not
> sound like a robust interface...

This and the following hunk are wrong, and i will drop them. You are
supposed to be able to read/write any address on the bus, and i
removed this ability.

Thanks for pointing this out.

       Andrew