kernel: bump 4.14 to 4.14.89
[oweals/openwrt.git] / target / linux / generic / pending-4.14 / 180-net-phy-at803x-add-support-for-AT8032.patch
index 3b1a41a23b969cc4d35f5582da78d3a700b3a17c..828b160be999573e30428224b4688f91bf4fbc79 100644 (file)
@@ -8,15 +8,18 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/drivers/net/phy/at803x.c
 +++ b/drivers/net/phy/at803x.c
-@@ -62,6 +62,7 @@
+@@ -62,8 +62,10 @@
  
  #define ATH8030_PHY_ID 0x004dd076
  #define ATH8031_PHY_ID 0x004dd074
 +#define ATH8032_PHY_ID 0x004dd023
  #define ATH8035_PHY_ID 0x004dd072
  #define AT803X_PHY_ID_MASK                    0xffffffef
++#define AT8032_PHY_ID_MASK                    0xffffffff
  
-@@ -260,7 +261,8 @@ static int at803x_probe(struct phy_devic
+ MODULE_DESCRIPTION("Atheros 803x PHY driver");
+ MODULE_AUTHOR("Matus Ujhelyi");
+@@ -256,7 +258,8 @@ static int at803x_probe(struct phy_devic
        if (!priv)
                return -ENOMEM;
  
@@ -26,7 +29,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                goto does_not_require_reset_workaround;
  
        gpiod_reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW);
-@@ -336,7 +338,7 @@ static void at803x_link_change_notify(st
+@@ -332,7 +335,7 @@ static void at803x_link_change_notify(st
        struct at803x_priv *priv = phydev->priv;
  
        /*
@@ -35,7 +38,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
         * signalled. This is necessary to circumvent a hardware bug that
         * occurs when the cable is unplugged while TX packets are pending
         * in the FIFO. In such cases, the FIFO enters an error mode it
-@@ -448,6 +450,24 @@ static struct phy_driver at803x_driver[]
+@@ -444,6 +447,24 @@ static struct phy_driver at803x_driver[]
        .aneg_done              = at803x_aneg_done,
        .ack_interrupt          = &at803x_ack_interrupt,
        .config_intr            = &at803x_config_intr,
@@ -43,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 +      /* ATHEROS 8032 */
 +      .phy_id                 = ATH8032_PHY_ID,
 +      .name                   = "Atheros 8032 ethernet",
-+      .phy_id_mask            = 0xffffffef,
++      .phy_id_mask            = AT8032_PHY_ID_MASK,
 +      .probe                  = at803x_probe,
 +      .config_init            = at803x_config_init,
 +      .link_change_notify     = at803x_link_change_notify,
@@ -60,11 +63,11 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  } };
  
  module_phy_driver(at803x_driver);
-@@ -455,6 +475,7 @@ module_phy_driver(at803x_driver);
+@@ -451,6 +472,7 @@ module_phy_driver(at803x_driver);
  static struct mdio_device_id __maybe_unused atheros_tbl[] = {
        { ATH8030_PHY_ID, AT803X_PHY_ID_MASK },
        { ATH8031_PHY_ID, AT803X_PHY_ID_MASK },
-+      { ATH8032_PHY_ID, AT803X_PHY_ID_MASK },
++      { ATH8032_PHY_ID, AT8032_PHY_ID_MASK },
        { ATH8035_PHY_ID, AT803X_PHY_ID_MASK },
        { }
  };