From 318e19ba6755105bb6cc19937d8fff26cbd2cc6f Mon Sep 17 00:00:00 2001 From: John Crispin Date: Thu, 9 Aug 2018 15:59:41 +0200 Subject: ar71xx: add v4.14 support adds v4.14 patches for testing but leaves v4.9 as default for now. Signed-off-by: John Crispin --- target/linux/ar71xx/files/drivers/net/dsa/mv88e6063.c | 18 ++++++++++++++++++ .../net/ethernet/atheros/ag71xx/ag71xx_ethtool.c | 8 ++++++++ 2 files changed, 26 insertions(+) (limited to 'target/linux/ar71xx/files/drivers/net') diff --git a/target/linux/ar71xx/files/drivers/net/dsa/mv88e6063.c b/target/linux/ar71xx/files/drivers/net/dsa/mv88e6063.c index 5b6da713f4..71ecd61c80 100644 --- a/target/linux/ar71xx/files/drivers/net/dsa/mv88e6063.c +++ b/target/linux/ar71xx/files/drivers/net/dsa/mv88e6063.c @@ -182,7 +182,11 @@ static int mv88e6063_setup_port(struct dsa_switch *ds, int p) #else ds->enabled_port_mask : #endif +#if LINUX_VERSION_CODE < KERNEL_VERSION(4,14,0) (1 << ds->dst->cpu_port))); +#else + (1 << ds->dst->cpu_dp->index))); +#endif /* * Port Association Vector: when learning source addresses @@ -275,15 +279,29 @@ static struct dsa_switch_ops mv88e6063_switch_ops = { .phy_write = mv88e6063_phy_write, }; +#if LINUX_VERSION_CODE > KERNEL_VERSION(4,13,0) +static struct dsa_switch_driver mv88e6063_switch_drv = { + .ops = &mv88e6063_switch_ops, +}; +#endif + static int __init mv88e6063_init(void) { +#if LINUX_VERSION_CODE < KERNEL_VERSION(4,14,0) register_switch_driver(&mv88e6063_switch_ops); +#else + register_switch_driver(&mv88e6063_switch_drv); +#endif return 0; } module_init(mv88e6063_init); static void __exit mv88e6063_cleanup(void) { +#if LINUX_VERSION_CODE < KERNEL_VERSION(4,14,0) unregister_switch_driver(&mv88e6063_switch_ops); +#else + unregister_switch_driver(&mv88e6063_switch_drv); +#endif } module_exit(mv88e6063_cleanup); diff --git a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_ethtool.c b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_ethtool.c index f0e102152f..a8fd5c7209 100644 --- a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_ethtool.c +++ b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_ethtool.c @@ -22,7 +22,11 @@ static int ag71xx_ethtool_get_settings(struct net_device *dev, if (!phydev) return -ENODEV; +#if LINUX_VERSION_CODE < KERNEL_VERSION(4,14,0) return phy_ethtool_gset(phydev, cmd); +#else + return phy_ethtool_ioctl(phydev, cmd); +#endif } static int ag71xx_ethtool_set_settings(struct net_device *dev, @@ -34,7 +38,11 @@ static int ag71xx_ethtool_set_settings(struct net_device *dev, if (!phydev) return -ENODEV; +#if LINUX_VERSION_CODE < KERNEL_VERSION(4,14,0) return phy_ethtool_sset(phydev, cmd); +#else + return phy_ethtool_ioctl(phydev, cmd); +#endif } static void ag71xx_ethtool_get_drvinfo(struct net_device *dev, -- cgit v1.2.3