generic: 6.1: refresh backport patches
[openwrt/staging/hauke.git] / target / linux / generic / backport-6.1 / 788-v6.3-net-dsa-mt7530-use-external-PCS-driver.patch
index ee12399140b659f15bb0e855f4a3dec9c0345d97..be97c8ac3c2e6d1703975c9eb4b3b23216715a41 100644 (file)
@@ -81,7 +81,7 @@ Tested-by: Frank Wunderlich <frank-w@public-files.de>
  #include <linux/phylink.h>
  #include <linux/regmap.h>
  #include <linux/regulator/consumer.h>
-@@ -2573,128 +2574,11 @@ static int mt7531_rgmii_setup(struct mt7
+@@ -2597,128 +2598,11 @@ static int mt7531_rgmii_setup(struct mt7
        return 0;
  }
  
@@ -210,7 +210,7 @@ Tested-by: Frank Wunderlich <frank-w@public-files.de>
  static int
  mt7531_mac_config(struct dsa_switch *ds, int port, unsigned int mode,
                  phy_interface_t interface)
-@@ -2717,11 +2601,11 @@ mt7531_mac_config(struct dsa_switch *ds,
+@@ -2741,11 +2625,11 @@ mt7531_mac_config(struct dsa_switch *ds,
                phydev = dp->slave->phydev;
                return mt7531_rgmii_setup(priv, port, interface, phydev);
        case PHY_INTERFACE_MODE_SGMII:
@@ -224,7 +224,7 @@ Tested-by: Frank Wunderlich <frank-w@public-files.de>
        default:
                return -EINVAL;
        }
-@@ -2746,11 +2630,11 @@ mt753x_phylink_mac_select_pcs(struct dsa
+@@ -2770,11 +2654,11 @@ mt753x_phylink_mac_select_pcs(struct dsa
  
        switch (interface) {
        case PHY_INTERFACE_MODE_TRGMII:
@@ -238,7 +238,7 @@ Tested-by: Frank Wunderlich <frank-w@public-files.de>
        default:
                return NULL;
        }
-@@ -2991,86 +2875,6 @@ static void mt7530_pcs_get_state(struct
+@@ -3015,86 +2899,6 @@ static void mt7530_pcs_get_state(struct
                state->pause |= MLO_PAUSE_TX;
  }
  
@@ -325,7 +325,7 @@ Tested-by: Frank Wunderlich <frank-w@public-files.de>
  static int mt753x_pcs_config(struct phylink_pcs *pcs, unsigned int mode,
                             phy_interface_t interface,
                             const unsigned long *advertising,
-@@ -3090,18 +2894,57 @@ static const struct phylink_pcs_ops mt75
+@@ -3114,18 +2918,57 @@ static const struct phylink_pcs_ops mt75
        .pcs_an_restart = mt7530_pcs_an_restart,
  };
  
@@ -389,7 +389,7 @@ Tested-by: Frank Wunderlich <frank-w@public-files.de>
        int i, ret;
  
        /* Initialise the PCS devices */
-@@ -3109,8 +2952,6 @@ mt753x_setup(struct dsa_switch *ds)
+@@ -3133,8 +2976,6 @@ mt753x_setup(struct dsa_switch *ds)
                priv->pcs[i].pcs.ops = priv->info->pcs_ops;
                priv->pcs[i].priv = priv;
                priv->pcs[i].port = i;
@@ -398,7 +398,7 @@ Tested-by: Frank Wunderlich <frank-w@public-files.de>
        }
  
        ret = priv->info->sw_setup(ds);
-@@ -3125,6 +2966,16 @@ mt753x_setup(struct dsa_switch *ds)
+@@ -3149,6 +2990,16 @@ mt753x_setup(struct dsa_switch *ds)
        if (ret && priv->irq)
                mt7530_free_irq_common(priv);
  
@@ -415,7 +415,7 @@ Tested-by: Frank Wunderlich <frank-w@public-files.de>
        return ret;
  }
  
-@@ -3216,7 +3067,7 @@ static const struct mt753x_info mt753x_t
+@@ -3240,7 +3091,7 @@ static const struct mt753x_info mt753x_t
        },
        [ID_MT7531] = {
                .id = ID_MT7531,
@@ -424,7 +424,7 @@ Tested-by: Frank Wunderlich <frank-w@public-files.de>
                .sw_setup = mt7531_setup,
                .phy_read = mt7531_ind_phy_read,
                .phy_write = mt7531_ind_phy_write,
-@@ -3324,7 +3175,7 @@ static void
+@@ -3348,7 +3199,7 @@ static void
  mt7530_remove(struct mdio_device *mdiodev)
  {
        struct mt7530_priv *priv = dev_get_drvdata(&mdiodev->dev);
@@ -433,7 +433,7 @@ Tested-by: Frank Wunderlich <frank-w@public-files.de>
  
        if (!priv)
                return;
-@@ -3343,6 +3194,10 @@ mt7530_remove(struct mdio_device *mdiode
+@@ -3367,6 +3218,10 @@ mt7530_remove(struct mdio_device *mdiode
                mt7530_free_irq(priv);
  
        dsa_unregister_switch(priv->ds);
@@ -442,8 +442,8 @@ Tested-by: Frank Wunderlich <frank-w@public-files.de>
 +              mtk_pcs_lynxi_destroy(priv->ports[5 + i].sgmii_pcs);
 +
        mutex_destroy(&priv->reg_mutex);
+ }
  
-       dev_set_drvdata(&mdiodev->dev, NULL);
 --- a/drivers/net/dsa/mt7530.h
 +++ b/drivers/net/dsa/mt7530.h
 @@ -364,47 +364,8 @@ enum mt7530_vlan_port_acc_frm {