hostap: convert usage of net/ieee80211.h to linux/ieee80211.h
Subsystems (2)
PATCH 1/1 hostap: convert usage of net/ieee80211.h to linux/ieee80211.h
So that net/ieee80211.h can be made private to ipw2x00 in a follow-up.
Signed-off-by Dan Williams <[email protected]>
---
drivers/net/wireless/hostap/hostap.h +1 -1
@@ -31,7 +31,7 @@ void hostap_dump_rx_header(const char *name,void hostap_dump_tx_header (const char *name,const struct hfa384x_tx_frame *tx);extern const struct header_ops hostap_80211_ops; -int hostap_80211_get_hdrlen (u16 fc); +int hostap_80211_get_hdrlen (__le16 fc);struct net_device_stats *hostap_get_stats (struct net_device *dev);void hostap_setup_dev (struct net_device *dev,local_info_t *local,int type);
drivers/net/wireless/hostap/hostap_80211.h +1 -1
@@ -2,7 +2,7 @@#define HOSTAP_80211_H #include <linux/types.h> -#include <net/ieee80211.h> +#include <linux/skbuff.h> struct hostap_ieee80211_mgmt {__le16 frame_control;
drivers/net/wireless/hostap/hostap_80211_rx.c +44 -44
246 lines not on this page · raw message
drivers/net/wireless/hostap/hostap_80211_tx.c +25 -26
146 lines not on this page · raw message
drivers/net/wireless/hostap/hostap_ap.c +64 -74
399 lines not on this page · raw message
drivers/net/wireless/hostap/hostap_ap.h +3 -3
@@ -235,7 +235,7 @@ struct hostap_tx_data {ap_tx_ret hostap_handle_sta_tx (local_info_t *local,struct hostap_tx_data *tx);void hostap_handle_sta_release (void *ptr);void hostap_handle_sta_tx_exc (local_info_t *local,struct sk_buff *skb); -int hostap_update_sta_ps (local_info_t *local,struct ieee80211_hdr_4addr *hdr); +int hostap_update_sta_ps (local_info_t *local,struct ieee80211_hdr *hdr);typedef enum {AP_RX_CONTINUE ,AP_RX_DROP ,AP_RX_EXIT ,AP_RX_CONTINUE_NOT_AUTHORIZED }ap_rx_ret ;
@@ -243,13 +243,13 @@ ap_rx_ret hostap_handle_sta_rx(local_info_t *local, struct net_device *dev,struct sk_buff *skb, struct hostap_80211_rx_status *rx_stats, int wds); -int hostap_handle_sta_crypto (local_info_t *local,struct ieee80211_hdr_4addr *hdr, +int hostap_handle_sta_crypto (local_info_t *local,struct ieee80211_hdr *hdr,struct lib80211_crypt_data **crypt,void **sta_ptr);int hostap_is_sta_assoc (struct ap_data *ap,u8 *sta_addr);int hostap_is_sta_authorized (struct ap_data *ap,u8 *sta_addr);int hostap_add_sta (struct ap_data *ap,u8 *sta_addr); -int hostap_update_rx_stats (struct ap_data *ap,struct ieee80211_hdr_4addr *hdr, +int hostap_update_rx_stats (struct ap_data *ap,struct ieee80211_hdr *hdr,struct hostap_80211_rx_status *rx_stats);void hostap_update_rates (local_info_t *local);void hostap_add_wds_links (local_info_t *local);
drivers/net/wireless/hostap/hostap_hw.c +11 -13
@@ -46,7 +46,6 @@#include <linux/rtnetlink.h> #include <linux/wireless.h> #include <net/iw_handler.h> -#include <net/ieee80211.h> #include <net/lib80211.h> #include <asm/irq.h>
@@ -1840,8 +1839,8 @@ static int prism2_tx_80211(struct sk_buff *skb, struct net_device *dev) hdr_len =24 ;skb_copy_from_linear_data (skb, &txdesc.frame_control, hdr_len); fc =le16_to_cpu (txdesc.frame_control); -if (WLAN_FC_GET_TYPE (fc) ==IEEE80211_FTYPE_DATA && - (fc &IEEE80211_FCTL_FROMDS ) && (fc &IEEE80211_FCTL_TODS ) && +if (ieee80211_is_data (txdesc.frame_control) && +ieee80211_has_a4 (txdesc.frame_control) && skb->len >=30 ) {/* Addr4 */ skb_copy_from_linear_data_offset(skb, hdr_len, txdesc.addr4,
@@ -2082,7 +2081,7 @@ static void hostap_rx_skb(local_info_t *local, struct sk_buff *skb) stats.rate = rxdesc->rate;/* Convert Prism2 RX structure into IEEE 802.11 header */ - hdrlen =hostap_80211_get_hdrlen (le16_to_cpu (rxdesc->frame_control)); + hdrlen =hostap_80211_get_hdrlen (rxdesc->frame_control);if (hdrlen > rx_hdrlen) hdrlen = rx_hdrlen;
@@ -2204,7 +2203,7 @@ static void hostap_tx_callback(local_info_t *local,return ; } - hdrlen =hostap_80211_get_hdrlen (le16_to_cpu (txdesc->frame_control)); + hdrlen =hostap_80211_get_hdrlen (txdesc->frame_control); len =le16_to_cpu (txdesc->data_len); skb =dev_alloc_skb (hdrlen + len);if (skb ==NULL ) {
@@ -2315,8 +2314,7 @@ static void hostap_sta_tx_exc_tasklet(unsigned long data)if (skb->len >=sizeof (*txdesc)) {/* Convert Prism2 RX structure into IEEE 802.11 header */ -u16 fc =le16_to_cpu (txdesc->frame_control); -int hdrlen =hostap_80211_get_hdrlen (fc); +int hdrlen =hostap_80211_get_hdrlen (txdesc->frame_control);memmove (skb_pull (skb,sizeof (*txdesc) - hdrlen), &txdesc->frame_control, hdrlen);
@@ -2394,12 +2392,12 @@ static void prism2_txexc(local_info_t *local)PDEBUG (DEBUG_EXTRA ," retry_count=%d tx_rate=%d fc=0x%04x " "(%s%s%s::%d%s%s)\n" , txdesc.retry_count, txdesc.tx_rate, fc, -WLAN_FC_GET_TYPE (fc) ==IEEE80211_FTYPE_MGMT ?"Mgmt" :"" , -WLAN_FC_GET_TYPE (fc) ==IEEE80211_FTYPE_CTL ?"Ctrl" :"" , -WLAN_FC_GET_TYPE (fc) ==IEEE80211_FTYPE_DATA ?"Data" :"" , -WLAN_FC_GET_STYPE (fc) >>4 , - fc &IEEE80211_FCTL_TODS ?" ToDS" :"" , - fc &IEEE80211_FCTL_FROMDS ?" FromDS" :"" ); +ieee80211_is_mgmt (txdesc.frame_control) ?"Mgmt" :"" , +ieee80211_is_ctl (txdesc.frame_control) ?"Ctrl" :"" , +ieee80211_is_data (txdesc.frame_control) ?"Data" :"" , + (fc &IEEE80211_FCTL_STYPE ) >>4 , +ieee80211_has_tods (txdesc.frame_control) ?" ToDS" :"" , +ieee80211_has_fromds (txdesc.frame_control) ?" FromDS" :"" );PDEBUG (DEBUG_EXTRA ," A1=%pM A2=%pM A3=%pM A4=%pM\n" , txdesc.addr1, txdesc.addr2, txdesc.addr3, txdesc.addr4);
drivers/net/wireless/hostap/hostap_info.c +1 -0
@@ -1,5 +1,6 @@/* Host AP driver Info Frame processing (part of hostap.o module) */ +#include <linux/if_arp.h> #include "hostap_wlan.h" #include "hostap.h" #include "hostap_ap.h"
drivers/net/wireless/hostap/hostap_ioctl.c +1 -0
@@ -2,6 +2,7 @@#include <linux/types.h> #include <linux/ethtool.h> +#include <linux/if_arp.h> #include <net/lib80211.h> #include "hostap_wlan.h"
drivers/net/wireless/hostap/hostap_main.c +13 -25
@@ -26,7 +26,6 @@#include <linux/etherdevice.h> #include <net/net_namespace.h> #include <net/iw_handler.h> -#include <net/ieee80211.h> #include <net/lib80211.h> #include <asm/uaccess.h>
@@ -543,7 +542,8 @@ void hostap_dump_rx_header(const char *name, const struct hfa384x_rx_frame *rx) fc =__le16_to_cpu (rx->frame_control); printk(KERN_DEBUG " FC=0x%04x (type=%d:%d) dur=0x%04x seq=0x%04x " "data_len=%d%s%s\n", - fc, WLAN_FC_GET_TYPE(fc) >> 2, WLAN_FC_GET_STYPE(fc) >> 4, + fc, (fc & IEEE80211_FCTL_FTYPE) >> 2, + (fc & IEEE80211_FCTL_STYPE) >> 4, __le16_to_cpu(rx->duration_id), __le16_to_cpu(rx->seq_ctrl), __le16_to_cpu(rx->data_len), fc & IEEE80211_FCTL_TODS ? " [ToDS]" : "",
@@ -570,7 +570,8 @@ void hostap_dump_tx_header(const char *name, const struct hfa384x_tx_frame *tx) fc =__le16_to_cpu (tx->frame_control); printk(KERN_DEBUG " FC=0x%04x (type=%d:%d) dur=0x%04x seq=0x%04x " "data_len=%d%s%s\n", - fc, WLAN_FC_GET_TYPE(fc) >> 2, WLAN_FC_GET_STYPE(fc) >> 4, + fc, (fc & IEEE80211_FCTL_FTYPE) >> 2, + (fc & IEEE80211_FCTL_STYPE) >> 4, __le16_to_cpu(tx->duration_id), __le16_to_cpu(tx->seq_ctrl), __le16_to_cpu(tx->data_len), fc & IEEE80211_FCTL_TODS ? " [ToDS]" : "",
@@ -593,29 +594,16 @@ static int hostap_80211_header_parse(const struct sk_buff *skb, } -int hostap_80211_get_hdrlen (u16 fc) +int hostap_80211_get_hdrlen (__le16 fc) { -int hdrlen =24 ; - -switch (WLAN_FC_GET_TYPE (fc)) { -case IEEE80211_FTYPE_DATA : -if ((fc &IEEE80211_FCTL_FROMDS ) && (fc &IEEE80211_FCTL_TODS )) - hdrlen =30 ;/* Addr4 */ -break ; -case IEEE80211_FTYPE_CTL : -switch (WLAN_FC_GET_STYPE (fc)) { -case IEEE80211_STYPE_CTS : -case IEEE80211_STYPE_ACK : - hdrlen =10 ; -break ; -default : - hdrlen =16 ; -break ; - } -break ; - } - -return hdrlen; +if (ieee80211_is_data (fc) &&ieee80211_has_a4 (fc)) +return 30 ;/* Addr4 */ +else if (ieee80211_is_cts (fc) ||ieee80211_is_ack (fc)) +return 10 ; +else if (ieee80211_is_ctl (fc)) +return 16 ; + +return 24 ; }
PATCH 1/1 make net/ieee80211.h private to ipw2x00
Only ipw2x00 now uses it. Reduce confusion. Profit!
Signed-off-by Dan Williams <[email protected]>
---
Depends on "[PATCH] hostap: convert usage of net/ieee80211.h to linux/ieee80211.h" of course...
drivers/net/wireless/ipw2x00/Kconfig | 2 +-
.../net/wireless/ipw2x00}/ieee80211.h | 0
drivers/net/wireless/ipw2x00/ipw2100.h | 4 ++--
drivers/net/wireless/ipw2x00/ipw2200.h | 3 ++-
drivers/net/wireless/ipw2x00/libipw_geo.c | 2 +-
drivers/net/wireless/ipw2x00/libipw_module.c | 2 +-
drivers/net/wireless/ipw2x00/libipw_rx.c | 3 ++-
drivers/net/wireless/ipw2x00/libipw_tx.c | 2 +-
drivers/net/wireless/ipw2x00/libipw_wx.c | 3 ++-
9 files changed, 12 insertions(+), 9 deletions(-)
rename {include/net => drivers/net/wireless/ipw2x00}/ieee80211.h (100%)drivers/net/wireless/ipw2x00/Kconfig +1 -1
@@ -186,7 +186,7 @@ config LIBIPW_DEBUG % echo 0x00000FFO > /proc/net/ieee80211/debug_level For a list of values you can assign to debug_level, you - can look at the bit mask values in <net/ieee80211.h> + can look at the bit mask values in ieee80211.h If you are not trying to debug or develop the libipw component, you most likely want to say N here.
drivers/net/wireless/ipw2x00/ieee80211.h renamed from include/net/ieee80211.h +0 -0
drivers/net/wireless/ipw2x00/ipw2100.h +2 -2
@@ -39,8 +39,6 @@#include <linux/wireless.h> #include <net/iw_handler.h> // new driver API -#include <net/ieee80211.h> -#ifdef CONFIG_IPW2100_MONITOR #include <net/ieee80211_radiotap.h> #endif
@@ -48,6 +46,8 @@#include <linux/workqueue.h> #include <linux/mutex.h> +#include "ieee80211.h" +struct ipw2100_priv ;struct ipw2100_tx_packet ;struct ipw2100_rx_packet ;
drivers/net/wireless/ipw2x00/ipw2200.h +2 -1
@@ -49,13 +49,14 @@#include <asm/io.h> #include <net/lib80211.h> -#include <net/ieee80211.h> #include <net/ieee80211_radiotap.h> #define DRV_NAME "ipw2200"#include <linux/workqueue.h> +#include "ieee80211.h" +/* Authentication and Association States */ enum connection_manager_assoc_states {CMAS_INIT =0 ,
drivers/net/wireless/ipw2x00/libipw_geo.c +1 -1
@@ -41,7 +41,7 @@#include <linux/etherdevice.h> #include <asm/uaccess.h> -#include <net/ieee80211.h> +#include "ieee80211.h" int ieee80211_is_valid_channel (struct ieee80211_device *ieee,u8 channel) {
drivers/net/wireless/ipw2x00/libipw_module.c +1 -1
@@ -50,7 +50,7 @@#include <net/net_namespace.h> #include <net/arp.h> -#include <net/ieee80211.h> +#include "ieee80211.h" #define DRV_DESCRIPTION "802.11 data/management/control stack"#define DRV_NAME "ieee80211"
drivers/net/wireless/ipw2x00/libipw_rx.c +2 -1
@@ -33,7 +33,8 @@#include <linux/ctype.h> #include <net/lib80211.h> -#include <net/ieee80211.h> + +#include "ieee80211.h" static void ieee80211_monitor_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
drivers/net/wireless/ipw2x00/libipw_tx.c +1 -1
@@ -41,7 +41,7 @@#include <linux/etherdevice.h> #include <asm/uaccess.h> -#include <net/ieee80211.h> +#include "ieee80211.h" /*
drivers/net/wireless/ipw2x00/libipw_wx.c +2 -1
@@ -35,9 +35,10 @@#include <linux/jiffies.h> #include <net/lib80211.h> -#include <net/ieee80211.h> #include <linux/wireless.h> +#include "ieee80211.h" +static const char *ieee80211_modes[] = {"?" ,"a" ,"b" ,"ab" ,"g" ,"ag" ,"bg" ,"abg" };
Signature · 1 line
1.6.1.3