Loading drivers/net/phy/marvell.c +12 −35 Original line number Original line Diff line number Diff line Loading @@ -292,17 +292,11 @@ static int marvell_config_aneg(struct phy_device *phydev) return err; return err; if (phydev->autoneg != AUTONEG_ENABLE) { if (phydev->autoneg != AUTONEG_ENABLE) { int bmcr; /* A write to speed/duplex bits (that is performed by /* A write to speed/duplex bits (that is performed by * genphy_config_aneg() call above) must be followed by * genphy_config_aneg() call above) must be followed by * a software reset. Otherwise, the write has no effect. * a software reset. Otherwise, the write has no effect. */ */ bmcr = phy_read(phydev, MII_BMCR); err = genphy_soft_reset(phydev); if (bmcr < 0) return bmcr; err = phy_write(phydev, MII_BMCR, bmcr | BMCR_RESET); if (err < 0) if (err < 0) return err; return err; } } Loading @@ -318,8 +312,7 @@ static int m88e1101_config_aneg(struct phy_device *phydev) * that certain registers get written in order * that certain registers get written in order * to restart autonegotiation * to restart autonegotiation */ */ err = phy_write(phydev, MII_BMCR, BMCR_RESET); err = genphy_soft_reset(phydev); if (err < 0) if (err < 0) return err; return err; Loading Loading @@ -354,7 +347,7 @@ static int m88e1111_config_aneg(struct phy_device *phydev) * that certain registers get written in order * that certain registers get written in order * to restart autonegotiation * to restart autonegotiation */ */ err = phy_write(phydev, MII_BMCR, BMCR_RESET); err = genphy_soft_reset(phydev); err = marvell_set_polarity(phydev, phydev->mdix_ctrl); err = marvell_set_polarity(phydev, phydev->mdix_ctrl); if (err < 0) if (err < 0) Loading @@ -370,17 +363,11 @@ static int m88e1111_config_aneg(struct phy_device *phydev) return err; return err; if (phydev->autoneg != AUTONEG_ENABLE) { if (phydev->autoneg != AUTONEG_ENABLE) { int bmcr; /* A write to speed/duplex bits (that is performed by /* A write to speed/duplex bits (that is performed by * genphy_config_aneg() call above) must be followed by * genphy_config_aneg() call above) must be followed by * a software reset. Otherwise, the write has no effect. * a software reset. Otherwise, the write has no effect. */ */ bmcr = phy_read(phydev, MII_BMCR); err = genphy_soft_reset(phydev); if (bmcr < 0) return bmcr; err = phy_write(phydev, MII_BMCR, bmcr | BMCR_RESET); if (err < 0) if (err < 0) return err; return err; } } Loading Loading @@ -493,7 +480,7 @@ static int m88e1121_config_aneg(struct phy_device *phydev) marvell_set_page(phydev, oldpage); marvell_set_page(phydev, oldpage); err = phy_write(phydev, MII_BMCR, BMCR_RESET); err = genphy_soft_reset(phydev); if (err < 0) if (err < 0) return err; return err; Loading Loading @@ -656,9 +643,7 @@ static int m88e1116r_config_init(struct phy_device *phydev) int temp; int temp; int err; int err; temp = phy_read(phydev, MII_BMCR); err = genphy_soft_reset(phydev); temp |= BMCR_RESET; err = phy_write(phydev, MII_BMCR, temp); if (err < 0) if (err < 0) return err; return err; Loading Loading @@ -689,14 +674,10 @@ static int m88e1116r_config_init(struct phy_device *phydev) if (err < 0) if (err < 0) return err; return err; temp = phy_read(phydev, MII_BMCR); err = genphy_soft_reset(phydev); temp |= BMCR_RESET; err = phy_write(phydev, MII_BMCR, temp); if (err < 0) if (err < 0) return err; return err; mdelay(500); return marvell_config_init(phydev); return marvell_config_init(phydev); } } Loading Loading @@ -804,14 +785,10 @@ static int m88e1111_config_init_rtbi(struct phy_device *phydev) return err; return err; /* soft reset */ /* soft reset */ err = phy_write(phydev, MII_BMCR, BMCR_RESET); err = genphy_soft_reset(phydev); if (err < 0) if (err < 0) return err; return err; do temp = phy_read(phydev, MII_BMCR); while (temp & BMCR_RESET); temp = phy_read(phydev, MII_M1111_PHY_EXT_SR); temp = phy_read(phydev, MII_M1111_PHY_EXT_SR); if (temp < 0) if (temp < 0) return temp; return temp; Loading Loading @@ -850,7 +827,7 @@ static int m88e1111_config_init(struct phy_device *phydev) if (err < 0) if (err < 0) return err; return err; return phy_write(phydev, MII_BMCR, BMCR_RESET); return genphy_soft_reset(phydev); } } static int m88e1121_config_init(struct phy_device *phydev) static int m88e1121_config_init(struct phy_device *phydev) Loading Loading @@ -912,7 +889,7 @@ static int m88e1118_config_aneg(struct phy_device *phydev) { { int err; int err; err = phy_write(phydev, MII_BMCR, BMCR_RESET); err = genphy_soft_reset(phydev); if (err < 0) if (err < 0) return err; return err; Loading Loading @@ -961,7 +938,7 @@ static int m88e1118_config_init(struct phy_device *phydev) if (err < 0) if (err < 0) return err; return err; return phy_write(phydev, MII_BMCR, BMCR_RESET); return genphy_soft_reset(phydev); } } static int m88e1149_config_init(struct phy_device *phydev) static int m88e1149_config_init(struct phy_device *phydev) Loading @@ -987,7 +964,7 @@ static int m88e1149_config_init(struct phy_device *phydev) if (err < 0) if (err < 0) return err; return err; return phy_write(phydev, MII_BMCR, BMCR_RESET); return genphy_soft_reset(phydev); } } static int m88e1145_config_init_rgmii(struct phy_device *phydev) static int m88e1145_config_init_rgmii(struct phy_device *phydev) Loading Loading
drivers/net/phy/marvell.c +12 −35 Original line number Original line Diff line number Diff line Loading @@ -292,17 +292,11 @@ static int marvell_config_aneg(struct phy_device *phydev) return err; return err; if (phydev->autoneg != AUTONEG_ENABLE) { if (phydev->autoneg != AUTONEG_ENABLE) { int bmcr; /* A write to speed/duplex bits (that is performed by /* A write to speed/duplex bits (that is performed by * genphy_config_aneg() call above) must be followed by * genphy_config_aneg() call above) must be followed by * a software reset. Otherwise, the write has no effect. * a software reset. Otherwise, the write has no effect. */ */ bmcr = phy_read(phydev, MII_BMCR); err = genphy_soft_reset(phydev); if (bmcr < 0) return bmcr; err = phy_write(phydev, MII_BMCR, bmcr | BMCR_RESET); if (err < 0) if (err < 0) return err; return err; } } Loading @@ -318,8 +312,7 @@ static int m88e1101_config_aneg(struct phy_device *phydev) * that certain registers get written in order * that certain registers get written in order * to restart autonegotiation * to restart autonegotiation */ */ err = phy_write(phydev, MII_BMCR, BMCR_RESET); err = genphy_soft_reset(phydev); if (err < 0) if (err < 0) return err; return err; Loading Loading @@ -354,7 +347,7 @@ static int m88e1111_config_aneg(struct phy_device *phydev) * that certain registers get written in order * that certain registers get written in order * to restart autonegotiation * to restart autonegotiation */ */ err = phy_write(phydev, MII_BMCR, BMCR_RESET); err = genphy_soft_reset(phydev); err = marvell_set_polarity(phydev, phydev->mdix_ctrl); err = marvell_set_polarity(phydev, phydev->mdix_ctrl); if (err < 0) if (err < 0) Loading @@ -370,17 +363,11 @@ static int m88e1111_config_aneg(struct phy_device *phydev) return err; return err; if (phydev->autoneg != AUTONEG_ENABLE) { if (phydev->autoneg != AUTONEG_ENABLE) { int bmcr; /* A write to speed/duplex bits (that is performed by /* A write to speed/duplex bits (that is performed by * genphy_config_aneg() call above) must be followed by * genphy_config_aneg() call above) must be followed by * a software reset. Otherwise, the write has no effect. * a software reset. Otherwise, the write has no effect. */ */ bmcr = phy_read(phydev, MII_BMCR); err = genphy_soft_reset(phydev); if (bmcr < 0) return bmcr; err = phy_write(phydev, MII_BMCR, bmcr | BMCR_RESET); if (err < 0) if (err < 0) return err; return err; } } Loading Loading @@ -493,7 +480,7 @@ static int m88e1121_config_aneg(struct phy_device *phydev) marvell_set_page(phydev, oldpage); marvell_set_page(phydev, oldpage); err = phy_write(phydev, MII_BMCR, BMCR_RESET); err = genphy_soft_reset(phydev); if (err < 0) if (err < 0) return err; return err; Loading Loading @@ -656,9 +643,7 @@ static int m88e1116r_config_init(struct phy_device *phydev) int temp; int temp; int err; int err; temp = phy_read(phydev, MII_BMCR); err = genphy_soft_reset(phydev); temp |= BMCR_RESET; err = phy_write(phydev, MII_BMCR, temp); if (err < 0) if (err < 0) return err; return err; Loading Loading @@ -689,14 +674,10 @@ static int m88e1116r_config_init(struct phy_device *phydev) if (err < 0) if (err < 0) return err; return err; temp = phy_read(phydev, MII_BMCR); err = genphy_soft_reset(phydev); temp |= BMCR_RESET; err = phy_write(phydev, MII_BMCR, temp); if (err < 0) if (err < 0) return err; return err; mdelay(500); return marvell_config_init(phydev); return marvell_config_init(phydev); } } Loading Loading @@ -804,14 +785,10 @@ static int m88e1111_config_init_rtbi(struct phy_device *phydev) return err; return err; /* soft reset */ /* soft reset */ err = phy_write(phydev, MII_BMCR, BMCR_RESET); err = genphy_soft_reset(phydev); if (err < 0) if (err < 0) return err; return err; do temp = phy_read(phydev, MII_BMCR); while (temp & BMCR_RESET); temp = phy_read(phydev, MII_M1111_PHY_EXT_SR); temp = phy_read(phydev, MII_M1111_PHY_EXT_SR); if (temp < 0) if (temp < 0) return temp; return temp; Loading Loading @@ -850,7 +827,7 @@ static int m88e1111_config_init(struct phy_device *phydev) if (err < 0) if (err < 0) return err; return err; return phy_write(phydev, MII_BMCR, BMCR_RESET); return genphy_soft_reset(phydev); } } static int m88e1121_config_init(struct phy_device *phydev) static int m88e1121_config_init(struct phy_device *phydev) Loading Loading @@ -912,7 +889,7 @@ static int m88e1118_config_aneg(struct phy_device *phydev) { { int err; int err; err = phy_write(phydev, MII_BMCR, BMCR_RESET); err = genphy_soft_reset(phydev); if (err < 0) if (err < 0) return err; return err; Loading Loading @@ -961,7 +938,7 @@ static int m88e1118_config_init(struct phy_device *phydev) if (err < 0) if (err < 0) return err; return err; return phy_write(phydev, MII_BMCR, BMCR_RESET); return genphy_soft_reset(phydev); } } static int m88e1149_config_init(struct phy_device *phydev) static int m88e1149_config_init(struct phy_device *phydev) Loading @@ -987,7 +964,7 @@ static int m88e1149_config_init(struct phy_device *phydev) if (err < 0) if (err < 0) return err; return err; return phy_write(phydev, MII_BMCR, BMCR_RESET); return genphy_soft_reset(phydev); } } static int m88e1145_config_init_rgmii(struct phy_device *phydev) static int m88e1145_config_init_rgmii(struct phy_device *phydev) Loading