#include <linux/module.h>
#include <linux/usb.h>
#include <linux/mutex.h>
#include "main.h"
#include "debug.h"
#include "reg.h"
#include "tx.h"
#include "rx.h"
#include "fw.h"
#include "ps.h"
#include "usb.h"
static bool rtw_switch_usb_mode = …;
module_param_named(switch_usb_mode, rtw_switch_usb_mode, bool, 0644);
MODULE_PARM_DESC(…) …;
#define RTW_USB_MAX_RXQ_LEN …
struct rtw_usb_txcb { … };
static void rtw_usb_fill_tx_checksum(struct rtw_usb *rtwusb,
struct sk_buff *skb, int agg_num)
{ … }
static void rtw_usb_reg_sec(struct rtw_dev *rtwdev, u32 addr, __le32 *data)
{ … }
static u32 rtw_usb_read(struct rtw_dev *rtwdev, u32 addr, u16 len)
{ … }
static u8 rtw_usb_read8(struct rtw_dev *rtwdev, u32 addr)
{ … }
static u16 rtw_usb_read16(struct rtw_dev *rtwdev, u32 addr)
{ … }
static u32 rtw_usb_read32(struct rtw_dev *rtwdev, u32 addr)
{ … }
static void rtw_usb_write(struct rtw_dev *rtwdev, u32 addr, u32 val, int len)
{ … }
static void rtw_usb_write8(struct rtw_dev *rtwdev, u32 addr, u8 val)
{ … }
static void rtw_usb_write16(struct rtw_dev *rtwdev, u32 addr, u16 val)
{ … }
static void rtw_usb_write32(struct rtw_dev *rtwdev, u32 addr, u32 val)
{ … }
static int dma_mapping_to_ep(enum rtw_dma_mapping dma_mapping)
{ … }
static int rtw_usb_parse(struct rtw_dev *rtwdev,
struct usb_interface *interface)
{ … }
static void rtw_usb_write_port_tx_complete(struct urb *urb)
{ … }
static int qsel_to_ep(struct rtw_usb *rtwusb, unsigned int qsel)
{ … }
static int rtw_usb_write_port(struct rtw_dev *rtwdev, u8 qsel, struct sk_buff *skb,
usb_complete_t cb, void *context)
{ … }
static bool rtw_usb_tx_agg_skb(struct rtw_usb *rtwusb, struct sk_buff_head *list)
{ … }
static void rtw_usb_tx_handler(struct work_struct *work)
{ … }
static void rtw_usb_tx_queue_purge(struct rtw_usb *rtwusb)
{ … }
static void rtw_usb_write_port_complete(struct urb *urb)
{ … }
static int rtw_usb_write_data(struct rtw_dev *rtwdev,
struct rtw_tx_pkt_info *pkt_info,
u8 *buf)
{ … }
static int rtw_usb_write_data_rsvd_page(struct rtw_dev *rtwdev, u8 *buf,
u32 size)
{ … }
static int rtw_usb_write_data_h2c(struct rtw_dev *rtwdev, u8 *buf, u32 size)
{ … }
static u8 rtw_usb_tx_queue_mapping_to_qsel(struct sk_buff *skb)
{ … }
static int rtw_usb_tx_write(struct rtw_dev *rtwdev,
struct rtw_tx_pkt_info *pkt_info,
struct sk_buff *skb)
{ … }
static void rtw_usb_tx_kick_off(struct rtw_dev *rtwdev)
{ … }
static void rtw_usb_rx_handler(struct work_struct *work)
{ … }
static void rtw_usb_read_port_complete(struct urb *urb);
static void rtw_usb_rx_resubmit(struct rtw_usb *rtwusb, struct rx_usb_ctrl_block *rxcb)
{ … }
static void rtw_usb_read_port_complete(struct urb *urb)
{ … }
static void rtw_usb_cancel_rx_bufs(struct rtw_usb *rtwusb)
{ … }
static void rtw_usb_free_rx_bufs(struct rtw_usb *rtwusb)
{ … }
static int rtw_usb_alloc_rx_bufs(struct rtw_usb *rtwusb)
{ … }
static int rtw_usb_setup(struct rtw_dev *rtwdev)
{ … }
static int rtw_usb_start(struct rtw_dev *rtwdev)
{ … }
static void rtw_usb_stop(struct rtw_dev *rtwdev)
{ … }
static void rtw_usb_deep_ps(struct rtw_dev *rtwdev, bool enter)
{ … }
static void rtw_usb_link_ps(struct rtw_dev *rtwdev, bool enter)
{ … }
static void rtw_usb_init_burst_pkt_len(struct rtw_dev *rtwdev)
{ … }
static void rtw_usb_interface_cfg(struct rtw_dev *rtwdev)
{ … }
static void rtw_usb_dynamic_rx_agg_v1(struct rtw_dev *rtwdev, bool enable)
{ … }
static void rtw_usb_dynamic_rx_agg(struct rtw_dev *rtwdev, bool enable)
{ … }
static struct rtw_hci_ops rtw_usb_ops = …;
static int rtw_usb_init_rx(struct rtw_dev *rtwdev)
{ … }
static void rtw_usb_setup_rx(struct rtw_dev *rtwdev)
{ … }
static void rtw_usb_deinit_rx(struct rtw_dev *rtwdev)
{ … }
static int rtw_usb_init_tx(struct rtw_dev *rtwdev)
{ … }
static void rtw_usb_deinit_tx(struct rtw_dev *rtwdev)
{ … }
static int rtw_usb_intf_init(struct rtw_dev *rtwdev,
struct usb_interface *intf)
{ … }
static void rtw_usb_intf_deinit(struct rtw_dev *rtwdev,
struct usb_interface *intf)
{ … }
static int rtw_usb_switch_mode_new(struct rtw_dev *rtwdev)
{ … }
static int rtw_usb_switch_mode(struct rtw_dev *rtwdev)
{ … }
int rtw_usb_probe(struct usb_interface *intf, const struct usb_device_id *id)
{ … }
EXPORT_SYMBOL(…);
void rtw_usb_disconnect(struct usb_interface *intf)
{ … }
EXPORT_SYMBOL(…);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;