diff options
author | Marek Vasut <marek.vasut+renesas@gmail.com> | 2020-05-23 17:55:50 +0200 |
---|---|---|
committer | Marek Vasut <marek.vasut+renesas@gmail.com> | 2020-06-18 19:34:40 +0200 |
commit | 39daab23768895c32b82e153c21a7955ae7dacb8 (patch) | |
tree | c9c8695efba6d155cd1d4b3d70d45910e19339df /drivers | |
parent | 389da9743c269a0c8536f4700c11c333a0309958 (diff) | |
download | u-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.c | 9 |
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) { |