net: sgi: ioc3-eth: Remove phy workaround
authorThomas Bogendoerfer <tsbogend@alpha.franken.de>
Mon, 9 Mar 2020 12:32:40 +0000 (13:32 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 9 Mar 2020 17:09:45 +0000 (10:09 -0700)
Commit a8d0f11ee50d ("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: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/sgi/ioc3-eth.c

index db6b298..7305e8e 100644 (file)
@@ -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;
+       ip->mii.phy_id = -1;
+       return -ENODEV;
 }
 
 static void ioc3_mii_start(struct ioc3_private *ip)