aboutsummaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorMarek Vasut <marek.vasut+renesas@gmail.com>2020-05-23 17:55:50 +0200
committerMarek Vasut <marek.vasut+renesas@gmail.com>2020-06-18 19:34:40 +0200
commit39daab23768895c32b82e153c21a7955ae7dacb8 (patch)
treec9c8695efba6d155cd1d4b3d70d45910e19339df /drivers
parent389da9743c269a0c8536f4700c11c333a0309958 (diff)
downloadu-boot-39daab23768895c32b82e153c21a7955ae7dacb8.zip
u-boot-39daab23768895c32b82e153c21a7955ae7dacb8.tar.gz
u-boot-39daab23768895c32b82e153c21a7955ae7dacb8.tar.bz2
net: eepro100: Pass device private data into mdiobus
Instead of doing ethernet device lookup by name every time there is an MDIO access, pass the driver private data via mdiobus priv to the MDIO bus accessors. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/eepro100.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/net/eepro100.c b/drivers/net/eepro100.c
index 1c33ec3..78dedbd 100644
--- a/drivers/net/eepro100.c
+++ b/drivers/net/eepro100.c
@@ -309,9 +309,7 @@ static int verify_phyaddr(struct eepro100_priv *priv, unsigned char addr)
static int eepro100_miiphy_read(struct mii_dev *bus, int addr, int devad,
int reg)
{
- struct eth_device *dev = eth_get_dev_by_name(bus->name);
- struct eepro100_priv *priv =
- container_of(dev, struct eepro100_priv, dev);
+ struct eepro100_priv *priv = bus->priv;
unsigned short value = 0;
int ret;
@@ -331,9 +329,7 @@ static int eepro100_miiphy_read(struct mii_dev *bus, int addr, int devad,
static int eepro100_miiphy_write(struct mii_dev *bus, int addr, int devad,
int reg, u16 value)
{
- struct eth_device *dev = eth_get_dev_by_name(bus->name);
- struct eepro100_priv *priv =
- container_of(dev, struct eepro100_priv, dev);
+ struct eepro100_priv *priv = bus->priv;
int ret;
ret = verify_phyaddr(priv, addr);
@@ -486,6 +482,7 @@ static int eepro100_initialize_mii(struct eepro100_priv *priv)
strncpy(mdiodev->name, priv->name, MDIO_NAME_LEN);
mdiodev->read = eepro100_miiphy_read;
mdiodev->write = eepro100_miiphy_write;
+ mdiodev->priv = priv;
ret = mdio_register(mdiodev);
if (ret < 0) {