kernel: update phy drivers for 4.9
[openwrt/staging/yousong.git] / target / linux / generic / files / drivers / net / phy / mvswitch.c
index af31d0b5ac009e818903d285214ad92b02d3adb0..a20fce342edb5554225ba70fd1b5091388461141 100644 (file)
@@ -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