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 <dev@kresin.me>
This commit is contained in:
parent
0270b1995b
commit
095598ce00
3 changed files with 21 additions and 0 deletions
|
@ -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"
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in a new issue