Commit 34a568a2 authored by Thomas Bogendoerfer's avatar Thomas Bogendoerfer Committed by David S. Miller
Browse files

net: sgi: ioc3-eth: Remove phy workaround



Commit a8d0f11e ("MIPS: SGI-IP27: Enable ethernet phy on second
Origin 200 module") fixes the root cause of not detected PHYs.
Therefore the workaround can go away now.

Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent fbd43602
Loading
Loading
Loading
Loading
+6 −23
Original line number Diff line number Diff line
@@ -582,40 +582,23 @@ static void ioc3_timer(struct timer_list *t)

/* Try to find a PHY.  There is no apparent relation between the MII addresses
 * in the SGI documentation and what we find in reality, so we simply probe
 * for the PHY.  It seems IOC3 PHYs usually live on address 31.  One of my
 * onboard IOC3s has the special oddity that probing doesn't seem to find it
 * yet the interface seems to work fine, so if probing fails we for now will
 * simply default to PHY 31 instead of bailing out.
 * for the PHY.
 */
static int ioc3_mii_init(struct ioc3_private *ip)
{
	int ioc3_phy_workaround = 1;
	int i, found = 0, res = 0;
	u16 word;
	int i;

	for (i = 0; i < 32; i++) {
		word = ioc3_mdio_read(ip->mii.dev, i, MII_PHYSID1);

		if (word != 0xffff && word != 0x0000) {
			found = 1;
			break;			/* Found a PHY		*/
			ip->mii.phy_id = i;
			return 0;
		}
	}

	if (!found) {
		if (ioc3_phy_workaround) {
			i = 31;
		} else {
	ip->mii.phy_id = -1;
			res = -ENODEV;
			goto out;
		}
	}

	ip->mii.phy_id = i;

out:
	return res;
	return -ENODEV;
}

static void ioc3_mii_start(struct ioc3_private *ip)