You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.9 KiB
57 lines
1.9 KiB
6 years ago
|
From 2d490ea00f141384d57c7e18e44b34e94e572b26 Mon Sep 17 00:00:00 2001
|
||
|
From: Russell King <rmk+kernel@armlinux.org.uk>
|
||
|
Date: Tue, 2 Jan 2018 10:58:32 +0000
|
||
|
Subject: [PATCH 293/454] net: phy: use unlocked accessors for indirect MMD
|
||
|
accesses
|
||
|
|
||
|
commit 1b2dea2e6a6e3399e88784d57aea80f4fd5e8956 upstream.
|
||
|
|
||
|
Use unlocked accessors for indirect MMD accesses to clause 22 PHYs.
|
||
|
This permits tracing of these accesses.
|
||
|
|
||
|
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
|
||
|
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
|
||
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||
|
---
|
||
|
drivers/net/phy/phy-core.c | 11 ++++++-----
|
||
|
1 file changed, 6 insertions(+), 5 deletions(-)
|
||
|
|
||
|
--- a/drivers/net/phy/phy-core.c
|
||
|
+++ b/drivers/net/phy/phy-core.c
|
||
|
@@ -193,13 +193,14 @@ static void mmd_phy_indirect(struct mii_
|
||
|
u16 regnum)
|
||
|
{
|
||
|
/* 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 */
|
||
|
- 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 */
|
||
|
- 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);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
@@ -232,7 +233,7 @@ int phy_read_mmd(struct phy_device *phyd
|
||
|
mmd_phy_indirect(bus, phy_addr, devad, regnum);
|
||
|
|
||
|
/* 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);
|
||
|
}
|
||
|
return val;
|
||
|
@@ -271,7 +272,7 @@ int phy_write_mmd(struct phy_device *phy
|
||
|
mmd_phy_indirect(bus, phy_addr, devad, regnum);
|
||
|
|
||
|
/* 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);
|
||
|
|
||
|
ret = 0;
|