ramips: add support for kernel 5.10
Enable testing kernel. Delete upstreamed patches: 0098-disable_cm.patch can be dropped, upstream fixed CM handling. 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. Rename patches to follow the 3-digit classification from the OpenWrt Developer Guide. Run automatic quilt refresh. Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
This commit is contained in:
committed by
Daniel Golle
parent
38ba1f9b4c
commit
b4aad29a1d
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user