aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ramips/files/drivers
diff options
context:
space:
mode:
authorIlya Lipnitskiy <ilya.lipnitskiy@gmail.com>2021-02-19 19:11:14 -0800
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>2021-03-06 11:24:12 +0100
commit10267e17299806f9885d086147878f6c492cb904 (patch)
treef120f0b1f4b4e10a7d8f7dc17e0cb997fb7184e1 /target/linux/ramips/files/drivers
parentef1e6520164e19451bc9cb8275cf293a699e1684 (diff)
downloadupstream-10267e17299806f9885d086147878f6c492cb904.tar.gz
upstream-10267e17299806f9885d086147878f6c492cb904.tar.bz2
upstream-10267e17299806f9885d086147878f6c492cb904.zip
ramips: 5.10: port and refresh patches, ralink drv
Enable testing kernel. Fix compile errors by using new kernel APIs. Fix fuzz by manually editing patches to ensure the code goes in the right place. For 721-NET-no-auto-carrier-off-support.patch, revert upstream commit a307593a6 to keep the OpenWrt ralink driver operational. Add mt7621-pci-phy patch to select REGMAP_MMIO as discussed in PR #3693 and #3952. Run automatic quilt refresh on the rest. Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
Diffstat (limited to 'target/linux/ramips/files/drivers')
-rw-r--r--target/linux/ramips/files/drivers/net/ethernet/ralink/mdio.c9
-rw-r--r--target/linux/ramips/files/drivers/net/ethernet/ralink/mdio_rt2880.c8
-rw-r--r--target/linux/ramips/files/drivers/net/ethernet/ralink/mtk_eth_soc.c4
-rw-r--r--target/linux/ramips/files/drivers/net/ethernet/ralink/soc_mt7620.c11
4 files changed, 31 insertions, 1 deletions
diff --git a/target/linux/ramips/files/drivers/net/ethernet/ralink/mdio.c b/target/linux/ramips/files/drivers/net/ethernet/ralink/mdio.c
index 33f973bed3..dceb08b835 100644
--- a/target/linux/ramips/files/drivers/net/ethernet/ralink/mdio.c
+++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/mdio.c
@@ -64,7 +64,11 @@ int fe_connect_phy_node(struct fe_priv *priv, struct device_node *phy_node, int
{
const __be32 *_phy_addr = NULL;
struct phy_device *phydev;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0)
int phy_mode;
+#else
+ phy_interface_t phy_mode = PHY_INTERFACE_MODE_NA;
+#endif
_phy_addr = of_get_property(phy_node, "reg", NULL);
@@ -73,8 +77,13 @@ int fe_connect_phy_node(struct fe_priv *priv, struct device_node *phy_node, int
return -EINVAL;
}
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0)
phy_mode = of_get_phy_mode(phy_node);
if (phy_mode < 0) {
+#else
+ of_get_phy_mode(phy_node, &phy_mode);
+ if (phy_mode == PHY_INTERFACE_MODE_NA) {
+#endif
dev_err(priv->dev, "incorrect phy-mode %d\n", phy_mode);
priv->phy->phy_node[port] = NULL;
return -EINVAL;
diff --git a/target/linux/ramips/files/drivers/net/ethernet/ralink/mdio_rt2880.c b/target/linux/ramips/files/drivers/net/ethernet/ralink/mdio_rt2880.c
index 8d82c8f7ad..6242cf9b42 100644
--- a/target/linux/ramips/files/drivers/net/ethernet/ralink/mdio_rt2880.c
+++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/mdio_rt2880.c
@@ -156,7 +156,11 @@ void rt2880_port_init(struct fe_priv *priv, struct device_node *np)
const __be32 *id = of_get_property(np, "reg", NULL);
const __be32 *link;
int size;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0)
int phy_mode;
+#else
+ phy_interface_t phy_mode = PHY_INTERFACE_MODE_NA;
+#endif
if (!id || (be32_to_cpu(*id) != 0)) {
pr_err("%s: invalid port id\n", np->name);
@@ -172,7 +176,11 @@ void rt2880_port_init(struct fe_priv *priv, struct device_node *np)
return;
}
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0)
phy_mode = of_get_phy_mode(np);
+#else
+ of_get_phy_mode(np, &phy_mode);
+#endif
switch (phy_mode) {
case PHY_INTERFACE_MODE_RGMII:
break;
diff --git a/target/linux/ramips/files/drivers/net/ethernet/ralink/mtk_eth_soc.c b/target/linux/ramips/files/drivers/net/ethernet/ralink/mtk_eth_soc.c
index f8301ad3ca..b6e321b78c 100644
--- a/target/linux/ramips/files/drivers/net/ethernet/ralink/mtk_eth_soc.c
+++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/mtk_eth_soc.c
@@ -1085,7 +1085,11 @@ poll_again:
return rx_done;
}
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0)
static void fe_tx_timeout(struct net_device *dev)
+#else
+static void fe_tx_timeout(struct net_device *dev, unsigned int txqueue)
+#endif
{
struct fe_priv *priv = netdev_priv(dev);
struct fe_tx_ring *ring = &priv->tx_ring;
diff --git a/target/linux/ramips/files/drivers/net/ethernet/ralink/soc_mt7620.c b/target/linux/ramips/files/drivers/net/ethernet/ralink/soc_mt7620.c
index f442d558e1..7317bc30aa 100644
--- a/target/linux/ramips/files/drivers/net/ethernet/ralink/soc_mt7620.c
+++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/soc_mt7620.c
@@ -131,7 +131,12 @@ static void mt7620_port_init(struct fe_priv *priv, struct device_node *np)
struct mt7620_gsw *gsw = (struct mt7620_gsw *)priv->soc->swpriv;
const __be32 *_id = of_get_property(np, "reg", NULL);
const __be32 *phy_addr;
- int phy_mode, size, id;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0)
+ int phy_mode;
+#else
+ phy_interface_t phy_mode = PHY_INTERFACE_MODE_NA;
+#endif
+ int size, id;
int shift = 12;
u32 val, mask = 0;
u32 val_delay = 0;
@@ -161,7 +166,11 @@ static void mt7620_port_init(struct fe_priv *priv, struct device_node *np)
return;
}
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0)
phy_mode = of_get_phy_mode(np);
+#else
+ of_get_phy_mode(np, &phy_mode);
+#endif
switch (phy_mode) {
case PHY_INTERFACE_MODE_RGMII:
mask = 0;