diff options
Diffstat (limited to 'target/linux/generic/files/drivers/net/phy/mvswitch.c')
-rw-r--r-- | target/linux/generic/files/drivers/net/phy/mvswitch.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/target/linux/generic/files/drivers/net/phy/mvswitch.c b/target/linux/generic/files/drivers/net/phy/mvswitch.c index af31d0b5ac..a20fce342e 100644 --- a/target/linux/generic/files/drivers/net/phy/mvswitch.c +++ b/target/linux/generic/files/drivers/net/phy/mvswitch.c @@ -50,13 +50,17 @@ struct mvswitch_priv { static inline u16 r16(struct phy_device *phydev, int addr, int reg) { - return phydev->bus->read(phydev->bus, addr, reg); + struct mii_bus *bus = phydev->mdio.bus; + + return bus->read(bus, addr, reg); } static inline void w16(struct phy_device *phydev, int addr, int reg, u16 val) { - phydev->bus->write(phydev->bus, addr, reg, val); + struct mii_bus *bus = phydev->mdio.bus; + + bus->write(bus, addr, reg, val); } @@ -388,12 +392,13 @@ mvswitch_probe(struct phy_device *pdev) static int mvswitch_fixup(struct phy_device *dev) { + struct mii_bus *bus = dev->mdio.bus; u16 reg; - if (dev->addr != 0x10) + if (dev->mdio.addr != 0x10) return 0; - reg = dev->bus->read(dev->bus, MV_PORTREG(IDENT, 0)) & MV_IDENT_MASK; + reg = bus->read(bus, MV_PORTREG(IDENT, 0)) & MV_IDENT_MASK; if (reg != MV_IDENT_VALUE) return 0; @@ -413,14 +418,13 @@ static struct phy_driver mvswitch_driver = { .config_init = &mvswitch_config_init, .config_aneg = &mvswitch_config_aneg, .read_status = &mvswitch_read_status, - .driver = { .owner = THIS_MODULE,}, }; static int __init mvswitch_init(void) { phy_register_fixup_for_id(PHY_ANY_ID, mvswitch_fixup); - return phy_driver_register(&mvswitch_driver); + return phy_driver_register(&mvswitch_driver, THIS_MODULE); } static void __exit |