kernel: bump 3.18 to 3.18.128
[openwrt/openwrt.git] / target / linux / generic / pending-3.18 / 002-phy_drivers_backport.patch
index c718f8ee6f00e0c82a923ab94b0391ecdd302534..e2ca05384a5f375baec93604158efd4951b94d5b 100644 (file)
@@ -95,7 +95,7 @@
        ret |= BMCR_ANENABLE | BMCR_ANRESTART;
        return phy_write(phydev, MII_BMCR, ret);
  }
-@@ -2012,7 +2012,7 @@ ar8xxx_phy_config_init(struct phy_device
+@@ -2021,7 +2021,7 @@ ar8xxx_phy_config_init(struct phy_device
  
        priv->phy = phydev;
  
                if (chip_is_ar8316(priv)) {
                        /* switch device has been initialized, reinit */
                        priv->dev.ports = (AR8216_NUM_PORTS - 1);
-@@ -2060,7 +2060,7 @@ ar8xxx_check_link_states(struct ar8xxx_p
+@@ -2069,7 +2069,7 @@ ar8xxx_check_link_states(struct ar8xxx_p
                /* flush ARL entries for this port if it went down*/
                if (!link_new)
                        priv->chip->atu_flush_port(priv, i);
                         i, link_new ? "up" : "down");
        }
  
-@@ -2079,10 +2079,10 @@ ar8xxx_phy_read_status(struct phy_device
+@@ -2088,10 +2088,10 @@ ar8xxx_phy_read_status(struct phy_device
        if (phydev->state == PHY_CHANGELINK)
                ar8xxx_check_link_states(priv);
  
        phydev->link = !!link.link;
        if (!phydev->link)
                return 0;
-@@ -2112,7 +2112,7 @@ ar8xxx_phy_read_status(struct phy_device
+@@ -2122,7 +2122,7 @@ ar8xxx_phy_read_status(struct phy_device
  static int
  ar8xxx_phy_config_aneg(struct phy_device *phydev)
  {
                return 0;
  
        return genphy_config_aneg(phydev);
-@@ -2167,15 +2167,15 @@ ar8xxx_phy_probe(struct phy_device *phyd
+@@ -2177,15 +2177,15 @@ ar8xxx_phy_probe(struct phy_device *phyd
        int ret;
  
        /* skip PHYs at unused adresses */
--      if (phydev->mdio.addr != 0 && phydev->mdio.addr != 4)
-+      if (phydev->addr != 0 && phydev->addr != 4)
+-      if (phydev->mdio.addr != 0 && phydev->mdio.addr != 3 && phydev->mdio.addr != 4)
++      if (phydev->addr != 0 && phydev->addr != 3 && phydev->addr != 4)
                return -ENODEV;
  
 -      if (!ar8xxx_is_possible(phydev->mdio.bus))
                        goto found;
  
        priv = ar8xxx_create();
-@@ -2184,7 +2184,7 @@ ar8xxx_phy_probe(struct phy_device *phyd
+@@ -2194,7 +2194,7 @@ ar8xxx_phy_probe(struct phy_device *phyd
                goto unlock;
        }
  
  
        ret = ar8xxx_probe_switch(priv);
        if (ret)
-@@ -2205,7 +2205,7 @@ ar8xxx_phy_probe(struct phy_device *phyd
+@@ -2215,7 +2215,7 @@ ar8xxx_phy_probe(struct phy_device *phyd
  found:
        priv->use_count++;
  
                if (ar8xxx_has_gige(priv)) {
                        phydev->supported = SUPPORTED_1000baseT_Full;
                        phydev->advertising = ADVERTISED_1000baseT_Full;
-@@ -2293,21 +2293,33 @@ ar8xxx_phy_soft_reset(struct phy_device
+@@ -2305,21 +2305,33 @@ ar8xxx_phy_soft_reset(struct phy_device
        return 0;
  }
  
  MODULE_LICENSE("GPL");
 --- a/drivers/net/phy/ar8327.c
 +++ b/drivers/net/phy/ar8327.c
-@@ -619,11 +619,11 @@ ar8327_hw_init(struct ar8xxx_priv *priv)
+@@ -662,11 +662,11 @@ ar8327_hw_init(struct ar8xxx_priv *priv)
        if (!priv->chip_data)
                return -ENOMEM;