batman-adv: Drop compat-hacks for unsupported kernel versions
OpenWrt only supports kernel 4.9, 4.14 and 4.19. Older kernel versions than 4.9 therefore don't require support. Signed-off-by: Sven Eckelmann <sven@narfation.org>
This commit is contained in:
parent
c953099d06
commit
89bcb4b22f
2 changed files with 5 additions and 89 deletions
|
@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
|
||||||
PKG_NAME:=batman-adv
|
PKG_NAME:=batman-adv
|
||||||
|
|
||||||
PKG_VERSION:=2019.2
|
PKG_VERSION:=2019.2
|
||||||
PKG_RELEASE:=4
|
PKG_RELEASE:=5
|
||||||
PKG_HASH:=70c3f6a6cf88d2b25681a76768a52ed92d9fe992ba8e358368b6a8088757adc8
|
PKG_HASH:=70c3f6a6cf88d2b25681a76768a52ed92d9fe992ba8e358368b6a8088757adc8
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
|
|
|
@ -5,24 +5,7 @@
|
||||||
#include <linux/version.h> /* LINUX_VERSION_CODE */
|
#include <linux/version.h> /* LINUX_VERSION_CODE */
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
|
|
||||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 1, 0)
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)
|
||||||
|
|
||||||
#define dev_get_iflink(_net_dev) ((_net_dev)->iflink)
|
|
||||||
|
|
||||||
#endif /* < KERNEL_VERSION(4, 1, 0) */
|
|
||||||
|
|
||||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 5, 0)
|
|
||||||
|
|
||||||
#include <linux/netdevice.h>
|
|
||||||
|
|
||||||
#define netdev_master_upper_dev_link(dev, upper_dev, upper_priv, upper_info, extack) ({\
|
|
||||||
BUILD_BUG_ON(upper_priv != NULL); \
|
|
||||||
BUILD_BUG_ON(upper_info != NULL); \
|
|
||||||
BUILD_BUG_ON(extack != NULL); \
|
|
||||||
netdev_master_upper_dev_link(dev, upper_dev); \
|
|
||||||
})
|
|
||||||
|
|
||||||
#elif LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)
|
|
||||||
|
|
||||||
#include <linux/netdevice.h>
|
#include <linux/netdevice.h>
|
||||||
|
|
||||||
|
@ -31,27 +14,10 @@
|
||||||
netdev_master_upper_dev_link(dev, upper_dev, upper_priv, upper_info); \
|
netdev_master_upper_dev_link(dev, upper_dev, upper_priv, upper_info); \
|
||||||
})
|
})
|
||||||
|
|
||||||
#endif /* < KERNEL_VERSION(4, 5, 0) */
|
#endif /* < KERNEL_VERSION(4, 15, 0) */
|
||||||
|
|
||||||
|
|
||||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 0, 0)
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0)
|
||||||
|
|
||||||
/* wild hack for batadv_getlink_net only */
|
|
||||||
#define get_link_net get_xstats_size || 1 ? fallback_net : (struct net*)netdev->rtnl_link_ops->get_xstats_size
|
|
||||||
|
|
||||||
#endif /* < KERNEL_VERSION(4, 0, 0) */
|
|
||||||
|
|
||||||
|
|
||||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 2, 0)
|
|
||||||
|
|
||||||
struct sk_buff *skb_checksum_trimmed(struct sk_buff *skb,
|
|
||||||
unsigned int transport_len,
|
|
||||||
__sum16(*skb_chkf)(struct sk_buff *skb));
|
|
||||||
|
|
||||||
int ip_mc_check_igmp(struct sk_buff *skb);
|
|
||||||
int ipv6_mc_check_mld(struct sk_buff *skb);
|
|
||||||
|
|
||||||
#elif LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0)
|
|
||||||
|
|
||||||
#include_next <linux/igmp.h>
|
#include_next <linux/igmp.h>
|
||||||
#include_next <net/addrconf.h>
|
#include_next <net/addrconf.h>
|
||||||
|
@ -86,57 +52,7 @@ static inline int batadv_ip_mc_check_igmp2(struct sk_buff *skb,
|
||||||
#define ip_mc_check_igmp(...) \
|
#define ip_mc_check_igmp(...) \
|
||||||
ip_mc_check_igmp_get(__VA_ARGS__, batadv_ip_mc_check_igmp2, batadv_ip_mc_check_igmp1)(__VA_ARGS__)
|
ip_mc_check_igmp_get(__VA_ARGS__, batadv_ip_mc_check_igmp2, batadv_ip_mc_check_igmp1)(__VA_ARGS__)
|
||||||
|
|
||||||
#endif /* < KERNEL_VERSION(4, 2, 0) */
|
#endif /* < KERNEL_VERSION(5, 1, 0) */
|
||||||
|
|
||||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 3, 0)
|
|
||||||
|
|
||||||
#define IFF_NO_QUEUE 0; dev->tx_queue_len = 0
|
|
||||||
|
|
||||||
static inline bool hlist_fake(struct hlist_node *h)
|
|
||||||
{
|
|
||||||
return h->pprev == &h->next;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* < KERNEL_VERSION(4, 3, 0) */
|
|
||||||
|
|
||||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0)
|
|
||||||
|
|
||||||
#include <linux/ethtool.h>
|
|
||||||
|
|
||||||
#define ethtool_link_ksettings batadv_ethtool_link_ksettings
|
|
||||||
|
|
||||||
struct batadv_ethtool_link_ksettings {
|
|
||||||
struct {
|
|
||||||
__u32 speed;
|
|
||||||
__u8 duplex;
|
|
||||||
__u8 autoneg;
|
|
||||||
} base;
|
|
||||||
};
|
|
||||||
|
|
||||||
#define __ethtool_get_link_ksettings(__dev, __link_settings) \
|
|
||||||
batadv_ethtool_get_link_ksettings(__dev, __link_settings)
|
|
||||||
|
|
||||||
static inline int
|
|
||||||
batadv_ethtool_get_link_ksettings(struct net_device *dev,
|
|
||||||
struct ethtool_link_ksettings *link_ksettings)
|
|
||||||
{
|
|
||||||
struct ethtool_cmd cmd;
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
memset(&cmd, 0, sizeof(cmd));
|
|
||||||
ret = __ethtool_get_settings(dev, &cmd);
|
|
||||||
|
|
||||||
if (ret != 0)
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
link_ksettings->base.duplex = cmd.duplex;
|
|
||||||
link_ksettings->base.speed = ethtool_cmd_speed(&cmd);
|
|
||||||
link_ksettings->base.autoneg = cmd.autoneg;
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* < KERNEL_VERSION(4, 6, 0) */
|
|
||||||
|
|
||||||
|
|
||||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0)
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0)
|
||||||
|
|
Loading…
Reference in a new issue