diff options
Diffstat (limited to 'drivers/staging/wilc1000/wilc_wfi_netdevice.h')
-rw-r--r-- | drivers/staging/wilc1000/wilc_wfi_netdevice.h | 83 |
1 files changed, 19 insertions, 64 deletions
diff --git a/drivers/staging/wilc1000/wilc_wfi_netdevice.h b/drivers/staging/wilc1000/wilc_wfi_netdevice.h index d62c4f1cddc6..f2b07e8aedd7 100644 --- a/drivers/staging/wilc1000/wilc_wfi_netdevice.h +++ b/drivers/staging/wilc1000/wilc_wfi_netdevice.h @@ -1,60 +1,27 @@ /* SPDX-License-Identifier: GPL-2.0 */ -/*! - * @file wilc_wfi_netdevice.h - * @brief Definitions for the network module - * @author mdaftedar - * @date 01 MAR 2012 - * @version 1.0 - */ #ifndef WILC_WFI_NETDEVICE #define WILC_WFI_NETDEVICE -#define WILC_WFI_RX_INTR 0x0001 -#define WILC_WFI_TX_INTR 0x0002 - -#define WILC_WFI_TIMEOUT 5 -#define WILC_MAX_NUM_PMKIDS 16 -#define PMKID_LEN 16 -#define PMKID_FOUND 1 - #define NUM_STA_ASSOCIATED 8 - -#include <linux/module.h> -#include <linux/init.h> -#include <linux/moduleparam.h> -#include <linux/sched.h> -#include <linux/kernel.h> -#include <linux/slab.h> -#include <linux/errno.h> -#include <linux/types.h> -#include <linux/interrupt.h> -#include <linux/time.h> -#include <linux/in.h> -#include <linux/netdevice.h> -#include <linux/etherdevice.h> -#include <linux/ip.h> #include <linux/tcp.h> -#include <linux/skbuff.h> #include <linux/ieee80211.h> #include <net/cfg80211.h> #include <net/ieee80211_radiotap.h> #include <linux/if_arp.h> -#include <linux/in6.h> -#include <asm/checksum.h> + #include "host_interface.h" #include "wilc_wlan.h" -#include <linux/wireless.h> -#include <linux/completion.h> -#include <linux/mutex.h> -#define FLOW_CONTROL_LOWER_THRESHOLD 128 -#define FLOW_CONTROL_UPPER_THRESHOLD 256 +#define FLOW_CONTROL_LOWER_THRESHOLD 128 +#define FLOW_CONTROL_UPPER_THRESHOLD 256 -enum stats_flags { - WILC_WFI_RX_PKT = BIT(0), - WILC_WFI_TX_PKT = BIT(1), -}; +#define WILC_MAX_NUM_PMKIDS 16 +#define PMKID_LEN 16 +#define PMKID_FOUND 1 +#define NUM_STA_ASSOCIATED 8 + +#define NUM_REG_FRAME 2 -struct WILC_WFI_stats { +struct wilc_wfi_stats { unsigned long rx_packets; unsigned long tx_packets; unsigned long rx_bytes; @@ -69,8 +36,6 @@ struct WILC_WFI_stats { * packets in and out, so there is place for a packet */ -#define num_reg_frame 2 - struct wilc_wfi_key { u8 *key; u8 *seq; @@ -112,20 +77,13 @@ struct wilc_priv { struct net_device_stats stats; u8 monitor_flag; int status; - struct WILC_WFI_packet *ppool; - struct WILC_WFI_packet *rx_queue; /* List of incoming packets */ - int rx_int_enabled; - int tx_packetlen; - u8 *tx_packetdata; struct sk_buff *skb; - spinlock_t lock; struct net_device *dev; - struct napi_struct napi; struct host_if_drv *hif_drv; struct host_if_pmkid_attr pmkid_list; - struct WILC_WFI_stats netstats; - u8 WILC_WFI_wep_key[4][WLAN_KEY_LEN_WEP104]; - u8 WILC_WFI_wep_key_len[4]; + struct wilc_wfi_stats netstats; + u8 wep_key[4][WLAN_KEY_LEN_WEP104]; + u8 wep_key_len[4]; /* The real interface that the monitor is on */ struct net_device *real_ndev; struct wilc_wfi_key *wilc_gtk[MAX_NUM_STA]; @@ -150,7 +108,7 @@ struct wilc_vif { u8 iftype; int monitor_flag; int mac_opened; - struct frame_reg frame_reg[num_reg_frame]; + struct frame_reg frame_reg[NUM_REG_FRAME]; struct net_device_stats netstats; struct wilc *wilc; u8 src_addr[ETH_ALEN]; @@ -172,10 +130,11 @@ struct wilc { u8 vif_num; struct wilc_vif *vif[NUM_CONCURRENT_IFC]; u8 open_ifcs; - + /*protect head of transmit queue*/ struct mutex txq_add_to_head_cs; + /*protect txq_entry_t transmit queue*/ spinlock_t txq_spinlock; - + /*protect rxq_entry_t receiver queue*/ struct mutex rxq_cs; struct mutex hif_cs; @@ -218,20 +177,16 @@ struct wilc { struct rf_info dummy_statistics; }; -struct WILC_WFI_mon_priv { +struct wilc_wfi_mon_priv { struct net_device *real_ndev; }; -int wilc1000_wlan_init(struct net_device *dev, struct wilc_vif *vif); - void wilc_frmw_to_linux(struct wilc *wilc, u8 *buff, u32 size, u32 pkt_offset); -void wilc_mac_indicate(struct wilc *wilc, int flag); +void wilc_mac_indicate(struct wilc *wilc); void wilc_netdev_cleanup(struct wilc *wilc); int wilc_netdev_init(struct wilc **wilc, struct device *dev, int io_type, int gpio, const struct wilc_hif_func *ops); -void wilc1000_wlan_deinit(struct net_device *dev); void wilc_wfi_mgmt_rx(struct wilc *wilc, u8 *buff, u32 size); -int wilc_wlan_get_firmware(struct net_device *dev); int wilc_wlan_set_bssid(struct net_device *wilc_netdev, u8 *bssid, u8 mode); #endif |