diff options
author | Luis R. Rodriguez <lrodriguez@atheros.com> | 2008-06-09 03:09:54 -0700 |
---|---|---|
committer | Luis R. Rodriguez <lrodriguez@atheros.com> | 2008-06-09 03:09:54 -0700 |
commit | 1e19d61176d5070edc6e0aa40685104d37a95b57 (patch) | |
tree | 2e97a6475b5dab7891c97022edaa81308a1dd54c | |
parent | eeb4f590247a87c42cce9331ec6100e7157d098f (diff) | |
download | compat-wireless-2.6-old-1e19d61176d5070edc6e0aa40685104d37a95b57.tar.gz |
Oops, forgot to use CONFIG_ in config.mk, so we found some other
things which needed porting like the rtnl->netlink migration.
This has been tested by Intel for on 11n on iwl4965.
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
-rw-r--r-- | compat/compat.diff | 75 | ||||
-rw-r--r-- | compat/mq_compat.h | 2 | ||||
-rw-r--r-- | config.mk | 6 |
3 files changed, 68 insertions, 15 deletions
diff --git a/compat/compat.diff b/compat/compat.diff index 54036f0..cd2b765 100644 --- a/compat/compat.diff +++ b/compat/compat.diff @@ -1069,7 +1069,7 @@ sdata->vif.type = IEEE80211_IF_TYPE_AP; --- a/include/net/mac80211.h 2008-06-04 00:38:13.000000000 -0700 -+++ b/include/net/mac80211.h 2008-06-08 05:08:41.000000000 -0700 ++++ b/include/net/mac80211.h 2008-06-09 01:25:08.000000000 -0700 @@ -293,7 +293,11 @@ s8 tx_rate_idx; u8 antenna_sel_tx; @@ -1082,7 +1082,7 @@ union { struct { -@@ -323,6 +327,15 @@ +@@ -323,6 +327,20 @@ return (struct ieee80211_tx_info *)skb->cb; } @@ -1094,18 +1094,71 @@ +{ + return IEEE80211_SKB_CB(skb)->queue; +} ++ ++static inline void skb_set_queue_mapping(struct sk_buff *skb, u16 queue_mapping) ++{ ++ IEEE80211_SKB_CB(skb)->queue = queue_mapping; ++} +#endif /** * enum mac80211_rx_flags - receive flags ---- a/drivers/net/wireless/iwlwifi/iwl-rfkill.h 2008-06-08 07:33:03.000000000 -0700 -+++ b/drivers/net/wireless/iwlwifi/iwl-rfkill.h 2008-06-08 07:33:42.000000000 -0700 -@@ -31,8 +31,6 @@ - struct iwl_priv; +--- a/net/mac80211/wme.c 2008-06-09 02:06:22.000000000 -0700 ++++ b/net/mac80211/wme.c 2008-06-09 02:09:30.000000000 -0700 +@@ -17,6 +17,9 @@ + #include <net/mac80211.h> + #include "ieee80211_i.h" + #include "wme.h" ++#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,22)) ++#include "mq_compat.h" ++#endif - #include <linux/rfkill.h> --#include <linux/input.h> -- + /* maximum number of hardware queues we support. */ + #define QD_MAX_QUEUES (IEEE80211_MAX_AMPDU_QUEUES + IEEE80211_MAX_QUEUES) +@@ -328,14 +331,22 @@ - #ifdef CONFIG_IWLWIFI_RFKILL - struct iwl_rfkill_mngr { + + /* called whenever parameters are updated on existing qdisc */ ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25)) ++static int wme_qdiscop_tune(struct Qdisc *qd, struct rtattr *opt) ++#else + static int wme_qdiscop_tune(struct Qdisc *qd, struct nlattr *opt) ++#endif + { + return 0; + } + + + /* called during initial creation of qdisc on device */ ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25)) ++static int wme_qdiscop_init(struct Qdisc *qd, struct rtattr *opt) ++#else + static int wme_qdiscop_init(struct Qdisc *qd, struct nlattr *opt) ++#endif + { + struct ieee80211_sched_data *q = qdisc_priv(qd); + struct net_device *dev = qd->dev; +@@ -456,7 +467,11 @@ + + + static int wme_classop_change(struct Qdisc *qd, u32 handle, u32 parent, ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25)) ++ struct rtattr **tca, unsigned long *arg) ++#else + struct nlattr **tca, unsigned long *arg) ++#endif + { + unsigned long cl = *arg; + struct ieee80211_local *local = wdev_priv(qd->dev->ieee80211_ptr); +@@ -540,7 +555,11 @@ + + /* this qdisc is classful (i.e. has classes, some of which may have leaf qdiscs attached) + * - these are the operations on the classes */ ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25)) ++static struct Qdisc_class_ops class_ops = ++#else + static const struct Qdisc_class_ops class_ops = ++#endif + { + .graft = wme_classop_graft, + .leaf = wme_classop_leaf, diff --git a/compat/mq_compat.h b/compat/mq_compat.h index 7b33eb0..e0bb162 100644 --- a/compat/mq_compat.h +++ b/compat/mq_compat.h @@ -31,7 +31,7 @@ enum ieee80211_link_state_t { IEEE80211_LINK_STATE_PENDING, }; -/* Note: skb_get_queue_mapping() was added as of 2.6.24 in +/* Note: skb_[get|set]_queue_mapping() was added as of 2.6.24 in * include/linux/skbuff.h. We port this and add it into * include/net/mac80211.h through compat.diff as this could * be used by mac80211 drivers as well. We don't add it to @@ -14,7 +14,7 @@ include $(KLIB_BUILD)/.config endif # Wireless subsystem stuff -CONFIG_MAC80211=m +CONFIG_MAC80211=y # Enable QOS for 2.6.22, we'll do some hacks here to enable it. # You will need this for HT support (802.11n). @@ -24,9 +24,9 @@ CONFIG_MAC80211=m ifeq ($(shell test -e $(KLIB_BUILD)/Makefile && echo yes),yes) KERNEL_SUBLEVEL = $(shell $(MAKE) -C $(KLIB_BUILD) kernelversion | sed -n 's/^2\.6\.\([0-9]\+\).*/\1/p') ifeq ($(shell test $(KERNEL_SUBLEVEL) -lt 23 && echo yes),yes) -MAC80211_QOS=m +CONFIG_MAC80211_QOS=y else -ifneq ($(CONFIG_NETDEVICES_MULTIQUEUE),) +ifeq ($(CONFIG_NETDEVICES_MULTIQUEUE),) $(warning "WARNING: You are running a kernel >= 2.6.23, you should enable CONFIG_NETDEVICES_MULTIQUEUE for 802.11n support") endif endif |