kernel: add support for kernel 5.4
[openwrt/staging/rmilecki.git] / target / linux / generic / pending-5.4 / 180-net-phy-at803x-add-support-for-AT8032.patch
index e496301e4e30b8d8b8c4d7cbefb4cac7d2df6cdd..9b8828244294038e01bfc0d85d2be243c9c8364e 100644 (file)
@@ -8,7 +8,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/drivers/net/phy/at803x.c
 +++ b/drivers/net/phy/at803x.c
-@@ -62,8 +62,10 @@
+@@ -64,8 +64,10 @@
  
  #define ATH8030_PHY_ID 0x004dd076
  #define ATH8031_PHY_ID 0x004dd074
@@ -19,16 +19,16 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
  MODULE_DESCRIPTION("Atheros 803x PHY driver");
  MODULE_AUTHOR("Matus Ujhelyi");
-@@ -308,7 +310,7 @@ static void at803x_link_change_notify(st
-       struct at803x_priv *priv = phydev->priv;
+@@ -314,7 +316,7 @@ static int at803x_config_intr(struct phy
+ static void at803x_link_change_notify(struct phy_device *phydev)
+ {
        /*
 -       * Conduct a hardware reset for AT8030 every time a link loss is
 +       * Conduct a hardware reset for AT8030/2 every time a link loss is
         * 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
-@@ -414,6 +416,24 @@ static struct phy_driver at803x_driver[]
+@@ -471,6 +473,24 @@ static struct phy_driver at803x_driver[]
        .aneg_done              = at803x_aneg_done,
        .ack_interrupt          = &at803x_ack_interrupt,
        .config_intr            = &at803x_config_intr,
@@ -44,8 +44,8 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 +      .get_wol                = at803x_get_wol,
 +      .suspend                = at803x_suspend,
 +      .resume                 = at803x_resume,
-+      .features               = PHY_BASIC_FEATURES,
-+      .flags                  = PHY_HAS_INTERRUPT,
++      /* PHY_BASIC_FEATURES */
++      .read_status            = at803x_read_status,
 +      .config_aneg            = genphy_config_aneg,
 +      .read_status            = genphy_read_status,
 +      .ack_interrupt          = at803x_ack_interrupt,
@@ -53,7 +53,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  } };
  
  module_phy_driver(at803x_driver);
-@@ -421,6 +441,7 @@ module_phy_driver(at803x_driver);
+@@ -478,6 +498,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 },