Re: [RFC PATCH net-next 03/24] phy: Use phy_read() instead of mdiobus_read()
From: Florian Fainelli <f.fainelli@gmail.com>
Date: 2016-01-04 20:08:15
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 <andrew@lunn.ch> ---
[snip]
quoted hunk ↗ jump to hunk
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...
quoted hunk ↗ jump to hunk
case SIOCSMIIREG:@@ -445,8 +444,7 @@ int phy_mii_ioctl(struct phy_device *phydev, struct ifreq *ifr, int cmd) } } - mdiobus_write(phydev->bus, mii_data->phy_id, - mii_data->reg_num, val); + phy_write(phydev, mii_data->reg_num, val);
Same here.
if (mii_data->phy_id == phydev->addr && mii_data->reg_num == MII_BMCR &&
-- Florian