From 6cbbbeda8d738345a638578835f761dca65dfb18 Mon Sep 17 00:00:00 2001 From: hauke Date: Thu, 4 Oct 2012 21:39:22 +0000 Subject: [PATCH] [package] acx-mac80211: adapt interface changes in mac80211 The prototype of conf_tx and tx in struct ieee80211_ops changed some time ago and was not compatible with the prototype assumes by acs-mac80211. At least I do not see any compile warnings about this any more. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33624 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/acx-mac80211/Makefile | 2 +- .../001-make-compatible-with-recent-mac80211.patch | 43 ++++++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 package/acx-mac80211/patches/001-make-compatible-with-recent-mac80211.patch diff --git a/package/acx-mac80211/Makefile b/package/acx-mac80211/Makefile index 1907c162fa..40b3ce5ed9 100644 --- a/package/acx-mac80211/Makefile +++ b/package/acx-mac80211/Makefile @@ -180,7 +180,7 @@ define Build/Compile CROSS_COMPILE="$(TARGET_CROSS)" \ SUBDIRS="$(PKG_BUILD_DIR)" \ $(PKG_EXTRA_KCONFIG) \ - EXTRA_CFLAGS="$(PKG_EXTRA_CFLAGS) -DCONFIG_ACX_MAC80211_VERSION=\"KERNEL_VERSION(2,6,37)\"" \ + EXTRA_CFLAGS="$(PKG_EXTRA_CFLAGS) -DCONFIG_ACX_MAC80211_VERSION=\"KERNEL_VERSION(3,7,0)\"" \ LINUXINCLUDE="-I$(STAGING_DIR)/usr/include/mac80211 -I$(LINUX_DIR)/include \ -Iarch/$(LINUX_KARCH)/include \ -include $(LINUX_AUTOCONF_FILE) \ diff --git a/package/acx-mac80211/patches/001-make-compatible-with-recent-mac80211.patch b/package/acx-mac80211/patches/001-make-compatible-with-recent-mac80211.patch new file mode 100644 index 0000000000..34ecf6d4ac --- /dev/null +++ b/package/acx-mac80211/patches/001-make-compatible-with-recent-mac80211.patch @@ -0,0 +1,43 @@ +--- a/acx_func.h ++++ b/acx_func.h +@@ -335,8 +335,11 @@ void acx_process_rxbuf(acx_device_t *ade + */ + #if CONFIG_ACX_MAC80211_VERSION < KERNEL_VERSION(2, 6, 39) + int acx_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb); +-#else ++#elif CONFIG_ACX_MAC80211_VERSION < KERNEL_VERSION(3, 7, 0) + void acx_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb); ++#else ++void acx_op_tx(struct ieee80211_hw *hw, struct ieee80211_tx_control *control, ++ struct sk_buff *skb); + #endif + + void acx_tx_work(struct work_struct *work); +--- a/common.c ++++ b/common.c +@@ -232,8 +232,11 @@ static void acx_rx(acx_device_t *adev, r + /* Tx Path */ + #if CONFIG_ACX_MAC80211_VERSION < KERNEL_VERSION(2, 6, 39) + int acx_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb); +-#else ++#elif CONFIG_ACX_MAC80211_VERSION < KERNEL_VERSION(3, 7, 0) + void acx_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb); ++#else ++void acx_op_tx(struct ieee80211_hw *hw, struct ieee80211_tx_control *control, ++ struct sk_buff *skb); + #endif + + //-void acx_tx_work(struct work_struct *work); +@@ -5183,7 +5186,12 @@ out: + * acx_compat, and hiding this #if/else. OTOH, inclusion doesnt care + * about old kernels + */ ++#if CONFIG_ACX_MAC80211_VERSION < KERNEL_VERSION(3, 7, 0) + OP_TX_RET_TYPE acx_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb) ++#else ++void acx_op_tx(struct ieee80211_hw *hw, struct ieee80211_tx_control *control, ++ struct sk_buff *skb) ++#endif + { + acx_device_t *adev = ieee2adev(hw); + -- 2.11.0