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.

SVN-Revision: 33624
This commit is contained in:
Hauke Mehrtens 2012-10-04 21:39:22 +00:00
parent befb648642
commit 8e6ea0d1b7
2 changed files with 44 additions and 1 deletions

View File

@ -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) \

View File

@ -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);