kernel: update 4.4 to 4.4.86
[openwrt/openwrt.git] / target / linux / generic / pending-4.4 / 002-phy_drivers_backport.patch
index fe0c05937173bf009ff3d9bead85d90f5cf83fca..72e13dcf8b57dddb1a465edefbca3737929ffda5 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/phy/adm6996.c
 +++ b/drivers/net/phy/adm6996.c
-@@ -286,7 +286,7 @@ static u16
+@@ -289,7 +289,7 @@ static u16
  adm6996_read_mii_reg(struct adm6996_priv *priv, enum admreg reg)
  {
        struct phy_device *phydev = priv->priv;
@@ -9,7 +9,7 @@
  
        return bus->read(bus, PHYADDR(reg));
  }
-@@ -295,7 +295,7 @@ static void
+@@ -298,7 +298,7 @@ static void
  adm6996_write_mii_reg(struct adm6996_priv *priv, enum admreg reg, u16 val)
  {
        struct phy_device *phydev = priv->priv;
@@ -18,7 +18,7 @@
  
        bus->write(bus, PHYADDR(reg), val);
  }
-@@ -1018,13 +1018,13 @@ static int adm6996_config_init(struct ph
+@@ -1050,13 +1050,13 @@ static int adm6996_config_init(struct ph
        pdev->supported = ADVERTISED_100baseT_Full;
        pdev->advertising = ADVERTISED_100baseT_Full;
  
@@ -35,7 +35,7 @@
        if (!priv)
                return -ENOMEM;
  
-@@ -1044,7 +1044,7 @@ static int adm6996_config_init(struct ph
+@@ -1076,7 +1076,7 @@ static int adm6996_config_init(struct ph
  }
  
  /*
@@ -44,7 +44,7 @@
   */
  static int adm6996_read_status(struct phy_device *phydev)
  {
-@@ -1060,7 +1060,7 @@ static int adm6996_read_status(struct ph
+@@ -1092,7 +1092,7 @@ static int adm6996_read_status(struct ph
  }
  
  /*
@@ -53,7 +53,7 @@
   */
  static int adm6996_config_aneg(struct phy_device *phydev)
  {
-@@ -1069,11 +1069,11 @@ static int adm6996_config_aneg(struct ph
+@@ -1101,11 +1101,11 @@ static int adm6996_config_aneg(struct ph
  
  static int adm6996_fixup(struct phy_device *dev)
  {
@@ -67,7 +67,7 @@
                return 0;
  
        /* look for the switch on the bus */
-@@ -1120,6 +1120,7 @@ static struct phy_driver adm6996_phy_dri
+@@ -1152,6 +1152,7 @@ static struct phy_driver adm6996_phy_dri
        .config_aneg    = &adm6996_config_aneg,
        .read_status    = &adm6996_read_status,
        .soft_reset     = adm6996_soft_reset,
@@ -75,7 +75,7 @@
  };
  
  static int adm6996_gpio_probe(struct platform_device *pdev)
-@@ -1188,7 +1189,7 @@ static int __init adm6996_init(void)
+@@ -1220,7 +1221,7 @@ static int __init adm6996_init(void)
        int err;
  
        phy_register_fixup_for_id(PHY_ANY_ID, adm6996_fixup);
@@ -86,7 +86,7 @@
  
 --- a/drivers/net/phy/ar8216.c
 +++ b/drivers/net/phy/ar8216.c
-@@ -177,7 +177,7 @@ ar8xxx_phy_check_aneg(struct phy_device
+@@ -183,7 +183,7 @@ ar8xxx_phy_check_aneg(struct phy_device
        if (ret & BMCR_ANENABLE)
                return 0;
  
@@ -95,7 +95,7 @@
        ret |= BMCR_ANENABLE | BMCR_ANRESTART;
        return phy_write(phydev, MII_BMCR, ret);
  }
-@@ -1997,7 +1997,7 @@ ar8xxx_phy_config_init(struct phy_device
+@@ -2054,7 +2054,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);
-@@ -2045,7 +2045,7 @@ ar8xxx_check_link_states(struct ar8xxx_p
+@@ -2102,7 +2102,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");
        }
  
-@@ -2064,10 +2064,10 @@ ar8xxx_phy_read_status(struct phy_device
+@@ -2121,10 +2121,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;
-@@ -2097,7 +2097,7 @@ ar8xxx_phy_read_status(struct phy_device
+@@ -2154,7 +2154,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);
-@@ -2152,15 +2152,15 @@ ar8xxx_phy_probe(struct phy_device *phyd
+@@ -2209,15 +2209,15 @@ ar8xxx_phy_probe(struct phy_device *phyd
        int ret;
  
        /* skip PHYs at unused adresses */
                        goto found;
  
        priv = ar8xxx_create();
-@@ -2169,7 +2169,7 @@ ar8xxx_phy_probe(struct phy_device *phyd
+@@ -2226,7 +2226,7 @@ ar8xxx_phy_probe(struct phy_device *phyd
                goto unlock;
        }
  
  
        ret = ar8xxx_probe_switch(priv);
        if (ret)
-@@ -2190,7 +2190,7 @@ ar8xxx_phy_probe(struct phy_device *phyd
+@@ -2247,7 +2247,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;
-@@ -2278,21 +2278,33 @@ ar8xxx_phy_soft_reset(struct phy_device
+@@ -2335,21 +2335,33 @@ ar8xxx_phy_soft_reset(struct phy_device
        return 0;
  }