Quellcode durchsuchen

generic: make all phy drivers kernel 5.0 compatible

It adjusts the code to upstream changes from the commit 3c1bcc8614db
("net: ethernet: Convert phydev advertize and supported from u32 to link
 mode")

Signed-off-by: Mathias Kresin <[email protected]>
Mathias Kresin vor 6 Jahren
Ursprung
Commit
095598ce00

+ 7 - 0
target/linux/generic/files/drivers/net/phy/adm6996.c

@@ -37,6 +37,7 @@
 #include <linux/ethtool.h>
 #include <linux/ethtool.h>
 #include <linux/phy.h>
 #include <linux/phy.h>
 #include <linux/switch.h>
 #include <linux/switch.h>
+#include <linux/version.h>
 
 
 #include <asm/io.h>
 #include <asm/io.h>
 #include <asm/irq.h>
 #include <asm/irq.h>
@@ -1047,8 +1048,14 @@ static int adm6996_config_init(struct phy_device *pdev)
 	struct adm6996_priv *priv;
 	struct adm6996_priv *priv;
 	int ret;
 	int ret;
 
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 0, 0)
+	linkmode_zero(pdev->supported);
+	linkmode_set_bit(ETHTOOL_LINK_MODE_100baseT_Full_BIT, pdev->supported);
+	linkmode_copy(pdev->advertising, pdev->supported);
+#else
 	pdev->supported = ADVERTISED_100baseT_Full;
 	pdev->supported = ADVERTISED_100baseT_Full;
 	pdev->advertising = ADVERTISED_100baseT_Full;
 	pdev->advertising = ADVERTISED_100baseT_Full;
+#endif
 
 
 	if (pdev->mdio.addr != 0) {
 	if (pdev->mdio.addr != 0) {
 		pr_info ("%s: PHY overlaps ADM6996, providing fixed PHY 0x%x.\n"
 		pr_info ("%s: PHY overlaps ADM6996, providing fixed PHY 0x%x.\n"

+ 7 - 0
target/linux/generic/files/drivers/net/phy/mvswitch.c

@@ -24,6 +24,7 @@
 #include <linux/ethtool.h>
 #include <linux/ethtool.h>
 #include <linux/phy.h>
 #include <linux/phy.h>
 #include <linux/if_vlan.h>
 #include <linux/if_vlan.h>
+#include <linux/version.h>
 
 
 #include <asm/io.h>
 #include <asm/io.h>
 #include <asm/irq.h>
 #include <asm/irq.h>
@@ -207,8 +208,14 @@ mvswitch_config_init(struct phy_device *pdev)
 		return -EINVAL;
 		return -EINVAL;
 
 
 	printk("%s: Marvell 88E6060 PHY driver attached.\n", dev->name);
 	printk("%s: Marvell 88E6060 PHY driver attached.\n", dev->name);
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 0, 0)
+	linkmode_zero(pdev->supported);
+	linkmode_set_bit(ETHTOOL_LINK_MODE_100baseT_Full_BIT, pdev->supported);
+	linkmode_copy(pdev->advertising, pdev->supported);
+#else
 	pdev->supported = ADVERTISED_100baseT_Full;
 	pdev->supported = ADVERTISED_100baseT_Full;
 	pdev->advertising = ADVERTISED_100baseT_Full;
 	pdev->advertising = ADVERTISED_100baseT_Full;
+#endif
 	dev->phy_ptr = priv;
 	dev->phy_ptr = priv;
 	pdev->irq = PHY_POLL;
 	pdev->irq = PHY_POLL;
 #ifdef HEADER_MODE
 #ifdef HEADER_MODE

+ 7 - 0
target/linux/generic/files/drivers/net/phy/psb6970.c

@@ -16,6 +16,7 @@
 #include <linux/netdevice.h>
 #include <linux/netdevice.h>
 #include <linux/switch.h>
 #include <linux/switch.h>
 #include <linux/phy.h>
 #include <linux/phy.h>
+#include <linux/version.h>
 
 
 #define PSB6970_MAX_VLANS		16
 #define PSB6970_MAX_VLANS		16
 #define PSB6970_NUM_PORTS		7
 #define PSB6970_NUM_PORTS		7
@@ -325,7 +326,13 @@ static int psb6970_config_init(struct phy_device *pdev)
 		return 0;
 		return 0;
 	}
 	}
 
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 0, 0)
+	linkmode_zero(pdev->supported);
+	linkmode_set_bit(ETHTOOL_LINK_MODE_100baseT_Full_BIT, pdev->supported);
+	linkmode_copy(pdev->advertising, pdev->supported);
+#else
 	pdev->supported = pdev->advertising = SUPPORTED_100baseT_Full;
 	pdev->supported = pdev->advertising = SUPPORTED_100baseT_Full;
+#endif
 
 
 	mutex_init(&priv->reg_mutex);
 	mutex_init(&priv->reg_mutex);
 	priv->read = psb6970_mii_read;
 	priv->read = psb6970_mii_read;