summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Vasut <[email protected]>2020-05-23 17:55:50 +0200
committerMarek Vasut <[email protected]>2020-06-18 19:34:40 +0200
commit39daab23768895c32b82e153c21a7955ae7dacb8 (patch)
treec9c8695efba6d155cd1d4b3d70d45910e19339df
parent389da9743c269a0c8536f4700c11c333a0309958 (diff)
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 <[email protected]>
-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 1c33ec3da23..78dedbdcc9c 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) {