Commit 1b2dea2e authored by Russell King's avatar Russell King Committed by David S. Miller

net: phy: use unlocked accessors for indirect MMD accesses

Use unlocked accessors for indirect MMD accesses to clause 22 PHYs.
This permits tracing of these accesses.
Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Signed-off-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 34dc08e4
...@@ -236,13 +236,14 @@ static void mmd_phy_indirect(struct mii_bus *bus, int phy_addr, int devad, ...@@ -236,13 +236,14 @@ static void mmd_phy_indirect(struct mii_bus *bus, int phy_addr, int devad,
u16 regnum) u16 regnum)
{ {
/* Write the desired MMD Devad */ /* Write the desired MMD Devad */
bus->write(bus, phy_addr, MII_MMD_CTRL, devad); __mdiobus_write(bus, phy_addr, MII_MMD_CTRL, devad);
/* Write the desired MMD register address */ /* Write the desired MMD register address */
bus->write(bus, phy_addr, MII_MMD_DATA, regnum); __mdiobus_write(bus, phy_addr, MII_MMD_DATA, regnum);
/* Select the Function : DATA with no post increment */ /* Select the Function : DATA with no post increment */
bus->write(bus, phy_addr, MII_MMD_CTRL, devad | MII_MMD_CTRL_NOINCR); __mdiobus_write(bus, phy_addr, MII_MMD_CTRL,
devad | MII_MMD_CTRL_NOINCR);
} }
/** /**
...@@ -275,7 +276,7 @@ int phy_read_mmd(struct phy_device *phydev, int devad, u32 regnum) ...@@ -275,7 +276,7 @@ int phy_read_mmd(struct phy_device *phydev, int devad, u32 regnum)
mmd_phy_indirect(bus, phy_addr, devad, regnum); mmd_phy_indirect(bus, phy_addr, devad, regnum);
/* Read the content of the MMD's selected register */ /* Read the content of the MMD's selected register */
val = bus->read(bus, phy_addr, MII_MMD_DATA); val = __mdiobus_read(bus, phy_addr, MII_MMD_DATA);
mutex_unlock(&bus->mdio_lock); mutex_unlock(&bus->mdio_lock);
} }
return val; return val;
...@@ -314,7 +315,7 @@ int phy_write_mmd(struct phy_device *phydev, int devad, u32 regnum, u16 val) ...@@ -314,7 +315,7 @@ int phy_write_mmd(struct phy_device *phydev, int devad, u32 regnum, u16 val)
mmd_phy_indirect(bus, phy_addr, devad, regnum); mmd_phy_indirect(bus, phy_addr, devad, regnum);
/* Write the data into MMD's selected register */ /* Write the data into MMD's selected register */
bus->write(bus, phy_addr, MII_MMD_DATA, val); __mdiobus_write(bus, phy_addr, MII_MMD_DATA, val);
mutex_unlock(&bus->mdio_lock); mutex_unlock(&bus->mdio_lock);
ret = 0; ret = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment