diff options
| author | Tom Rini <[email protected]> | 2026-02-23 15:29:21 -0600 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2026-02-23 15:29:21 -0600 |
| commit | a226944635e80a431ca0d2d38fcbf44aebaa9313 (patch) | |
| tree | 533ec5e0150fdc5164d7c5071156c35a5bc63e55 /drivers | |
| parent | d5feb16f01b83543ac8380cff1d3967f593e6618 (diff) | |
| parent | 358f97fcca9a888e7f2c074d70460b92b5222c55 (diff) | |
Merge patch series "net: mdio-mt7531-mmio: consolidate and improve probe"
Christian Marangi <[email protected]> says:
This small series consolidate header usage of mdio-mt7531-mmio driver
and improve usage in preparation for support of OF PHY autoprobe.
This driver is still not used (as it will be used by AN7581/AN7583)
in the OF mode (it's used by MT7988 for the MDIO functions)
For OF PHY to be correctly autoprobed, the MDIO driver needs to attached
to the MDIO node (the parent of the PHY nodes)
With such change the MDIO driver can be binded with the MDIO node instead
of the switch node as previously required.
Link: https://lore.kernel.org/r/[email protected]
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/net/mdio-mt7531-mmio.c | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/drivers/net/mdio-mt7531-mmio.c b/drivers/net/mdio-mt7531-mmio.c index 5a0725010f2..930454a9b0e 100644 --- a/drivers/net/mdio-mt7531-mmio.c +++ b/drivers/net/mdio-mt7531-mmio.c @@ -6,6 +6,8 @@ #include <linux/iopoll.h> #include <miiphy.h> +#include "mdio-mt7531-mmio.h" + #define MT7531_PHY_IAC 0x701c #define MT7531_PHY_ACS_ST BIT(31) #define MT7531_MDIO_REG_ADDR_CL22 GENMASK(29, 25) @@ -25,11 +27,7 @@ #define MT7531_MDIO_TIMEOUT 100000 #define MT7531_MDIO_SLEEP 20 -struct mt7531_mdio_priv { - phys_addr_t switch_regs; -}; - -static int mt7531_mdio_wait_busy(struct mt7531_mdio_priv *priv) +static int mt7531_mdio_wait_busy(struct mt7531_mdio_mmio_priv *priv) { unsigned int busy; @@ -38,7 +36,7 @@ static int mt7531_mdio_wait_busy(struct mt7531_mdio_priv *priv) MT7531_MDIO_SLEEP, MT7531_MDIO_TIMEOUT); } -static int mt7531_mdio_read(struct mt7531_mdio_priv *priv, int addr, int devad, int reg) +static int mt7531_mdio_read(struct mt7531_mdio_mmio_priv *priv, int addr, int devad, int reg) { u32 val; @@ -75,7 +73,7 @@ static int mt7531_mdio_read(struct mt7531_mdio_priv *priv, int addr, int devad, return val & MT7531_MDIO_RW_DATA; } -static int mt7531_mdio_write(struct mt7531_mdio_priv *priv, int addr, int devad, +static int mt7531_mdio_write(struct mt7531_mdio_mmio_priv *priv, int addr, int devad, int reg, u16 value) { u32 val; @@ -115,7 +113,7 @@ static int mt7531_mdio_write(struct mt7531_mdio_priv *priv, int addr, int devad, int mt7531_mdio_mmio_read(struct mii_dev *bus, int addr, int devad, int reg) { - struct mt7531_mdio_priv *priv = bus->priv; + struct mt7531_mdio_mmio_priv *priv = bus->priv; return mt7531_mdio_read(priv, addr, devad, reg); } @@ -123,14 +121,14 @@ int mt7531_mdio_mmio_read(struct mii_dev *bus, int addr, int devad, int reg) int mt7531_mdio_mmio_write(struct mii_dev *bus, int addr, int devad, int reg, u16 value) { - struct mt7531_mdio_priv *priv = bus->priv; + struct mt7531_mdio_mmio_priv *priv = bus->priv; return mt7531_mdio_write(priv, addr, devad, reg, value); } static int dm_mt7531_mdio_read(struct udevice *dev, int addr, int devad, int reg) { - struct mt7531_mdio_priv *priv = dev_get_priv(dev); + struct mt7531_mdio_mmio_priv *priv = dev_get_priv(dev); return mt7531_mdio_read(priv, addr, devad, reg); } @@ -138,7 +136,7 @@ static int dm_mt7531_mdio_read(struct udevice *dev, int addr, int devad, int reg static int dm_mt7531_mdio_write(struct udevice *dev, int addr, int devad, int reg, u16 value) { - struct mt7531_mdio_priv *priv = dev_get_priv(dev); + struct mt7531_mdio_mmio_priv *priv = dev_get_priv(dev); return mt7531_mdio_write(priv, addr, devad, reg, value); } @@ -150,7 +148,7 @@ static const struct mdio_ops mt7531_mdio_ops = { static int mt7531_mdio_probe(struct udevice *dev) { - struct mt7531_mdio_priv *priv = dev_get_priv(dev); + struct mt7531_mdio_mmio_priv *priv = dev_get_priv(dev); ofnode switch_node; switch_node = ofnode_get_parent(dev_ofnode(dev)); @@ -169,5 +167,5 @@ U_BOOT_DRIVER(mt7531_mdio) = { .id = UCLASS_MDIO, .probe = mt7531_mdio_probe, .ops = &mt7531_mdio_ops, - .priv_auto = sizeof(struct mt7531_mdio_priv), + .priv_auto = sizeof(struct mt7531_mdio_mmio_priv), }; |
