#include <linux/if_ether.h>
#include <linux/ip.h>
#include <net/dsfield.h>
#include "cfg80211.h"
#include "wlan_cfg.h"
#define WAKE_UP_TRIAL_RETRY …
static inline void acquire_bus(struct wilc *wilc, enum bus_acquire acquire)
{ … }
static inline void release_bus(struct wilc *wilc, enum bus_release release)
{ … }
static void wilc_wlan_txq_remove(struct wilc *wilc, u8 q_num,
struct txq_entry_t *tqe)
{ … }
static struct txq_entry_t *
wilc_wlan_txq_remove_from_head(struct wilc *wilc, u8 q_num)
{ … }
static void wilc_wlan_txq_add_to_tail(struct net_device *dev, u8 q_num,
struct txq_entry_t *tqe)
{ … }
static void wilc_wlan_txq_add_to_head(struct wilc_vif *vif, u8 q_num,
struct txq_entry_t *tqe)
{ … }
#define NOT_TCP_ACK …
static inline void add_tcp_session(struct wilc_vif *vif, u32 src_prt,
u32 dst_prt, u32 seq)
{ … }
static inline void update_tcp_session(struct wilc_vif *vif, u32 index, u32 ack)
{ … }
static inline void add_tcp_pending_ack(struct wilc_vif *vif, u32 ack,
u32 session_index,
struct txq_entry_t *txqe)
{ … }
static inline void tcp_process(struct net_device *dev, struct txq_entry_t *tqe)
{ … }
static void wilc_wlan_txq_filter_dup_tcp_ack(struct net_device *dev)
{ … }
void wilc_enable_tcp_ack_filter(struct wilc_vif *vif, bool value)
{ … }
static int wilc_wlan_txq_add_cfg_pkt(struct wilc_vif *vif, u8 *buffer,
u32 buffer_size)
{ … }
static bool is_ac_q_limit(struct wilc *wl, u8 q_num)
{ … }
static inline u8 ac_classify(struct wilc *wilc, struct sk_buff *skb)
{ … }
static inline int ac_balance(struct wilc *wl, u8 *ratio)
{ … }
static inline void ac_update_fw_ac_pkt_info(struct wilc *wl, u32 reg)
{ … }
static inline u8 ac_change(struct wilc *wilc, u8 *ac)
{ … }
int wilc_wlan_txq_add_net_pkt(struct net_device *dev,
struct tx_complete_data *tx_data, u8 *buffer,
u32 buffer_size,
void (*tx_complete_fn)(void *, int))
{ … }
int wilc_wlan_txq_add_mgmt_pkt(struct net_device *dev, void *priv, u8 *buffer,
u32 buffer_size,
void (*tx_complete_fn)(void *, int))
{ … }
static struct txq_entry_t *wilc_wlan_txq_get_first(struct wilc *wilc, u8 q_num)
{ … }
static struct txq_entry_t *wilc_wlan_txq_get_next(struct wilc *wilc,
struct txq_entry_t *tqe,
u8 q_num)
{ … }
static void wilc_wlan_rxq_add(struct wilc *wilc, struct rxq_entry_t *rqe)
{ … }
static struct rxq_entry_t *wilc_wlan_rxq_remove(struct wilc *wilc)
{ … }
void chip_allow_sleep(struct wilc *wilc)
{ … }
EXPORT_SYMBOL_GPL(…);
void chip_wakeup(struct wilc *wilc)
{ … }
EXPORT_SYMBOL_GPL(…);
void host_wakeup_notify(struct wilc *wilc)
{ … }
EXPORT_SYMBOL_GPL(…);
void host_sleep_notify(struct wilc *wilc)
{ … }
EXPORT_SYMBOL_GPL(…);
int wilc_wlan_handle_txq(struct wilc *wilc, u32 *txq_count)
{ … }
static void wilc_wlan_handle_rx_buff(struct wilc *wilc, u8 *buffer, int size)
{ … }
static void wilc_wlan_handle_rxq(struct wilc *wilc)
{ … }
static void wilc_unknown_isr_ext(struct wilc *wilc)
{ … }
static void wilc_wlan_handle_isr_ext(struct wilc *wilc, u32 int_status)
{ … }
void wilc_handle_isr(struct wilc *wilc)
{ … }
EXPORT_SYMBOL_GPL(…);
int wilc_wlan_firmware_download(struct wilc *wilc, const u8 *buffer,
u32 buffer_size)
{ … }
int wilc_wlan_start(struct wilc *wilc)
{ … }
int wilc_wlan_stop(struct wilc *wilc, struct wilc_vif *vif)
{ … }
void wilc_wlan_cleanup(struct net_device *dev)
{ … }
static int wilc_wlan_cfg_commit(struct wilc_vif *vif, int type,
u32 drv_handler)
{ … }
int wilc_wlan_cfg_set(struct wilc_vif *vif, int start, u16 wid, u8 *buffer,
u32 buffer_size, int commit, u32 drv_handler)
{ … }
int wilc_wlan_cfg_get(struct wilc_vif *vif, int start, u16 wid, int commit,
u32 drv_handler)
{ … }
int wilc_send_config_pkt(struct wilc_vif *vif, u8 mode, struct wid *wids,
u32 count)
{ … }
static int init_chip(struct net_device *dev)
{ … }
u32 wilc_get_chipid(struct wilc *wilc, bool update)
{ … }
int wilc_load_mac_from_nv(struct wilc *wl)
{ … }
EXPORT_SYMBOL_GPL(…);
int wilc_wlan_init(struct net_device *dev)
{ … }