kernel: remove linux 4.4 support
[openwrt/staging/chunkeey.git] / target / linux / generic / pending-4.4 / 738-net-phy-at803x-only-the-AT8030-needs-a-hardware-rese.patch
diff --git a/target/linux/generic/pending-4.4/738-net-phy-at803x-only-the-AT8030-needs-a-hardware-rese.patch b/target/linux/generic/pending-4.4/738-net-phy-at803x-only-the-AT8030-needs-a-hardware-rese.patch
deleted file mode 100644 (file)
index 4e6baac..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-From: Timur Tabi <timur@codeaurora.org>
-Date: Tue, 26 Apr 2016 12:44:18 -0500
-Subject: [PATCH] net: phy: at803x: only the AT8030 needs a hardware reset on
- link change
-
-Commit 13a56b44 ("at803x: Add support for hardware reset") added a
-work-around for a hardware bug on the AT8030.  However, the work-around
-was being called for all 803x PHYs, even those that don't need it.
-Function at803x_link_change_notify() checks to make sure that it only
-resets the PHY on the 8030, but it makes more sense to not call that
-function at all if it isn't needed.
-
-Signed-off-by: Timur Tabi <timur@codeaurora.org>
-Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
----
-
---- a/drivers/net/phy/at803x.c
-+++ b/drivers/net/phy/at803x.c
-@@ -374,27 +374,25 @@ static void at803x_link_change_notify(st
-        * in the FIFO. In such cases, the FIFO enters an error mode it
-        * cannot recover from by software.
-        */
--      if (phydev->drv->phy_id == ATH8030_PHY_ID) {
--              if (phydev->state == PHY_NOLINK) {
--                      if (priv->gpiod_reset && !priv->phy_reset) {
--                              struct at803x_context context;
--
--                              at803x_context_save(phydev, &context);
--
--                              gpiod_set_value(priv->gpiod_reset, 1);
--                              msleep(1);
--                              gpiod_set_value(priv->gpiod_reset, 0);
--                              msleep(1);
--
--                              at803x_context_restore(phydev, &context);
--
--                              dev_dbg(&phydev->dev, "%s(): phy was reset\n",
--                                      __func__);
--                              priv->phy_reset = true;
--                      }
--              } else {
--                      priv->phy_reset = false;
-+      if (phydev->state == PHY_NOLINK) {
-+              if (priv->gpiod_reset && !priv->phy_reset) {
-+                      struct at803x_context context;
-+
-+                      at803x_context_save(phydev, &context);
-+
-+                      gpiod_set_value(priv->gpiod_reset, 1);
-+                      msleep(1);
-+                      gpiod_set_value(priv->gpiod_reset, 0);
-+                      msleep(1);
-+
-+                      at803x_context_restore(phydev, &context);
-+
-+                      dev_dbg(&phydev->dev, "%s(): phy was reset\n",
-+                              __func__);
-+                      priv->phy_reset = true;
-               }
-+      } else {
-+              priv->phy_reset = false;
-       }
-       if (pdata && pdata->fixup_rgmii_tx_delay &&
-           phydev->speed != priv->prev_speed) {
-@@ -426,7 +424,6 @@ static struct phy_driver at803x_driver[]
-       .phy_id_mask            = AT803X_PHY_ID_MASK,
-       .probe                  = at803x_probe,
-       .config_init            = at803x_config_init,
--      .link_change_notify     = at803x_link_change_notify,
-       .set_wol                = at803x_set_wol,
-       .get_wol                = at803x_get_wol,
-       .suspend                = at803x_suspend,
-@@ -468,7 +465,6 @@ static struct phy_driver at803x_driver[]
-       .phy_id_mask            = AT803X_PHY_ID_MASK,
-       .probe                  = at803x_probe,
-       .config_init            = at803x_config_init,
--      .link_change_notify     = at803x_link_change_notify,
-       .set_wol                = at803x_set_wol,
-       .get_wol                = at803x_get_wol,
-       .suspend                = at803x_suspend,