-I$(STAGING_DIR)/usr/include/mac80211-backport \
-I$(STAGING_DIR)/usr/include/mac80211/uapi \
-I$(STAGING_DIR)/usr/include/mac80211 \
- -include backport/backport.h
+ -include backport/backport.h \
+ -include $(PKG_BUILD_DIR)/compat-hacks.h
define Build/Compile
+$(MAKE) $(PKG_JOBS) -C "$(LINUX_DIR)" \
define Build/Prepare
$(call Build/Prepare/Default)
+ $(CP) ./files/compat-hacks.h $(PKG_BUILD_DIR)/
$(SED) '/#define _NET_BATMAN_ADV_MAIN_H_/a\#undef CONFIG_MODULE_STRIPPED' \
$(PKG_BUILD_DIR)/net/batman-adv/main.h
endef
--- /dev/null
+/* Please avoid adding hacks here - instead add it to mac80211/backports.git */
+
+#include <linux/version.h> /* LINUX_VERSION_CODE */
+#include <linux/types.h>
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 1, 0)
+
+#define dev_get_iflink(_net_dev) ((_net_dev)->iflink)
+
+#endif /* < KERNEL_VERSION(4, 1, 0) */
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 9, 0)
+
+#include <linux/netdevice.h>
+
+#define netdev_master_upper_dev_link(dev, upper_dev, upper_priv, upper_info) ({\
+ BUILD_BUG_ON(upper_priv != NULL); \
+ BUILD_BUG_ON(upper_info != NULL); \
+ netdev_set_master(dev, upper_dev); \
+})
+
+#elif 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) ({\
+ BUILD_BUG_ON(upper_priv != NULL); \
+ BUILD_BUG_ON(upper_info != NULL); \
+ netdev_master_upper_dev_link(dev, upper_dev); \
+})
+
+#endif /* < KERNEL_VERSION(4, 5, 0) */
+
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 3, 0)
+
+#define IFF_NO_QUEUE 0; dev->tx_queue_len = 0
+
+#endif /* < KERNEL_VERSION(4, 3, 0) */
+++ /dev/null
-diff --git a/net/batman-adv/hard-interface.c b/net/batman-adv/hard-interface.c
-index 730cfa8..39e5694 100644
---- a/net/batman-adv/hard-interface.c
-+++ b/net/batman-adv/hard-interface.c
-@@ -47,6 +47,24 @@
- #include "sysfs.h"
- #include "translation-table.h"
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 1, 0)
-+
-+#define dev_get_iflink(_net_dev) ((_net_dev)->iflink)
-+
-+#endif /* < KERNEL_VERSION(4, 1, 0) */
-+
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 9, 0)
-+
-+#define netdev_master_upper_dev_link(dev, upper_dev, upper_priv, upper_info) \
-+ netdev_set_master(dev, upper_dev)
-+
-+#elif LINUX_VERSION_CODE < KERNEL_VERSION(4, 5, 0)
-+
-+#define netdev_master_upper_dev_link(dev, upper_dev, upper_priv, upper_info) \
-+ netdev_master_upper_dev_link(dev, upper_dev)
-+
-+#endif /* < KERNEL_VERSION(4, 5, 0) */
-+
- /**
- * batadv_hardif_release - release hard interface from lists and queue for
- * free after rcu grace period
-diff --git a/net/batman-adv/soft-interface.c b/net/batman-adv/soft-interface.c
-index 6c65de9..06d0330 100644
---- a/net/batman-adv/soft-interface.c
-+++ b/net/batman-adv/soft-interface.c
-@@ -60,6 +60,12 @@
- #include "sysfs.h"
- #include "translation-table.h"
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 3, 0)
-+
-+#define IFF_NO_QUEUE 0; dev->tx_queue_len = 0
-+
-+#endif /* < KERNEL_VERSION(4, 3, 0) */
-+
- static int batadv_get_settings(struct net_device *dev, struct ethtool_cmd *cmd);
- static void batadv_get_drvinfo(struct net_device *dev,
- struct ethtool_drvinfo *info);