summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorMarek Vasut <[email protected]>2025-03-02 02:24:44 +0100
committerMarek Vasut <[email protected]>2025-03-11 23:05:57 +0100
commitc5318bdcf80965fddccf68146c7838816aedb154 (patch)
tree13c10eab9e7c685ea1119594484f093def3c3375 /drivers
parent3374d3783a575db7dd2dc9f2f74b7523e547b130 (diff)
net: miiphybb: Pass struct bb_miiphy_bus_ops directly to bb_miiphy_read/write()
The access to struct bb_miiphy_bus_ops via ops pointer in struct bb_miiphy_bus is not necessary with wrappers added in previous patch. Pass the ops pointer directly to both bb_miiphy_read() and bb_miiphy_write() functions. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Paul Barker <[email protected]>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/designware.c7
-rw-r--r--drivers/net/phy/miiphybb.c13
-rw-r--r--drivers/net/ravb.c7
-rw-r--r--drivers/net/sh_eth.c7
4 files changed, 16 insertions, 18 deletions
diff --git a/drivers/net/designware.c b/drivers/net/designware.c
index 3c3450aa778..2069e34be15 100644
--- a/drivers/net/designware.c
+++ b/drivers/net/designware.c
@@ -302,13 +302,15 @@ static const struct bb_miiphy_bus_ops dw_eth_bb_miiphy_bus_ops = {
static int dw_bb_miiphy_read(struct mii_dev *miidev, int addr,
int devad, int reg)
{
- return bb_miiphy_read(miidev, addr, devad, reg);
+ return bb_miiphy_read(miidev, &dw_eth_bb_miiphy_bus_ops,
+ addr, devad, reg);
}
static int dw_bb_miiphy_write(struct mii_dev *miidev, int addr,
int devad, int reg, u16 value)
{
- return bb_miiphy_write(miidev, addr, devad, reg, value);
+ return bb_miiphy_write(miidev, &dw_eth_bb_miiphy_bus_ops,
+ addr, devad, reg, value);
}
static int dw_bb_mdio_init(const char *name, struct udevice *dev)
@@ -351,7 +353,6 @@ static int dw_bb_mdio_init(const char *name, struct udevice *dev)
#if CONFIG_IS_ENABLED(DM_GPIO)
bus->reset = dw_mdio_reset;
#endif
- bus->ops = &dw_eth_bb_miiphy_bus_ops;
bus->priv = dwpriv;
return mdio_register(bus);
diff --git a/drivers/net/phy/miiphybb.c b/drivers/net/phy/miiphybb.c
index e6106341eb3..9481ba76f51 100644
--- a/drivers/net/phy/miiphybb.c
+++ b/drivers/net/phy/miiphybb.c
@@ -126,21 +126,19 @@ static void miiphy_pre(struct bb_miiphy_bus *bus, const struct bb_miiphy_bus_ops
* Returns:
* 0 on success
*/
-int bb_miiphy_read(struct mii_dev *miidev, int addr, int devad, int reg)
+int bb_miiphy_read(struct mii_dev *miidev, const struct bb_miiphy_bus_ops *ops,
+ int addr, int devad, int reg)
{
unsigned short rdreg; /* register working value */
int v;
int j; /* counter */
struct bb_miiphy_bus *bus;
- const struct bb_miiphy_bus_ops *ops;
bus = bb_miiphy_getbus(miidev);
if (bus == NULL) {
return -1;
}
- ops = bus->ops;
-
miiphy_pre(bus, ops, 1, addr, reg);
/* tri-state our MDIO I/O pin so we can read */
@@ -198,11 +196,10 @@ int bb_miiphy_read(struct mii_dev *miidev, int addr, int devad, int reg)
* Returns:
* 0 on success
*/
-int bb_miiphy_write(struct mii_dev *miidev, int addr, int devad, int reg,
- u16 value)
+int bb_miiphy_write(struct mii_dev *miidev, const struct bb_miiphy_bus_ops *ops,
+ int addr, int devad, int reg, u16 value)
{
struct bb_miiphy_bus *bus;
- const struct bb_miiphy_bus_ops *ops;
int j; /* counter */
bus = bb_miiphy_getbus(miidev);
@@ -211,8 +208,6 @@ int bb_miiphy_write(struct mii_dev *miidev, int addr, int devad, int reg,
return -1;
}
- ops = bus->ops;
-
miiphy_pre(bus, ops, 0, addr, reg);
/* send the turnaround (10) */
diff --git a/drivers/net/ravb.c b/drivers/net/ravb.c
index 9a17ac97cce..65ba107fc00 100644
--- a/drivers/net/ravb.c
+++ b/drivers/net/ravb.c
@@ -561,13 +561,15 @@ static const struct bb_miiphy_bus_ops ravb_bb_miiphy_bus_ops = {
static int ravb_bb_miiphy_read(struct mii_dev *miidev, int addr,
int devad, int reg)
{
- return bb_miiphy_read(miidev, addr, devad, reg);
+ return bb_miiphy_read(miidev, &ravb_bb_miiphy_bus_ops,
+ addr, devad, reg);
}
static int ravb_bb_miiphy_write(struct mii_dev *miidev, int addr,
int devad, int reg, u16 value)
{
- return bb_miiphy_write(miidev, addr, devad, reg, value);
+ return bb_miiphy_write(miidev, &ravb_bb_miiphy_bus_ops,
+ addr, devad, reg, value);
}
static int ravb_probe(struct udevice *dev)
@@ -599,7 +601,6 @@ static int ravb_probe(struct udevice *dev)
snprintf(mdiodev->name, sizeof(mdiodev->name), dev->name);
/* Copy the bus accessors and private data */
- bb_miiphy->ops = &ravb_bb_miiphy_bus_ops;
bb_miiphy->priv = eth;
ret = mdio_register(mdiodev);
diff --git a/drivers/net/sh_eth.c b/drivers/net/sh_eth.c
index cef531c8c6f..738dc43cdc7 100644
--- a/drivers/net/sh_eth.c
+++ b/drivers/net/sh_eth.c
@@ -723,13 +723,15 @@ static const struct bb_miiphy_bus_ops sh_ether_bb_miiphy_bus_ops = {
static int sh_eth_bb_miiphy_read(struct mii_dev *miidev, int addr,
int devad, int reg)
{
- return bb_miiphy_read(miidev, addr, devad, reg);
+ return bb_miiphy_read(miidev, &sh_ether_bb_miiphy_bus_ops,
+ addr, devad, reg);
}
static int sh_eth_bb_miiphy_write(struct mii_dev *miidev, int addr,
int devad, int reg, u16 value)
{
- return bb_miiphy_write(miidev, addr, devad, reg, value);
+ return bb_miiphy_write(miidev, &sh_ether_bb_miiphy_bus_ops,
+ addr, devad, reg, value);
}
static int sh_ether_probe(struct udevice *udev)
@@ -761,7 +763,6 @@ static int sh_ether_probe(struct udevice *udev)
snprintf(mdiodev->name, sizeof(mdiodev->name), udev->name);
/* Copy the bus accessors and private data */
- bb_miiphy->ops = &sh_ether_bb_miiphy_bus_ops;
bb_miiphy->priv = eth;
ret = mdio_register(mdiodev);