#include "wifi.h"
#include "core.h"
#include "usb.h"
#include "base.h"
#include "ps.h"
#include "rtl8192c/fw_common.h"
#include <linux/export.h>
#include <linux/module.h>
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;
#define REALTEK_USB_VENQT_READ …
#define REALTEK_USB_VENQT_WRITE …
#define REALTEK_USB_VENQT_CMD_REQ …
#define REALTEK_USB_VENQT_CMD_IDX …
#define MAX_USBCTRL_VENDORREQ_TIMES …
static void _rtl_usb_cleanup_tx(struct ieee80211_hw *hw);
static void _usbctrl_vendorreq_sync(struct usb_device *udev, u8 reqtype,
u16 value, void *pdata, u16 len)
{ … }
static u32 _usb_read_sync(struct rtl_priv *rtlpriv, u32 addr, u16 len)
{ … }
static void _usb_write_sync(struct rtl_priv *rtlpriv, u32 addr, u32 val, u16 len)
{ … }
static u8 _usb_read8_sync(struct rtl_priv *rtlpriv, u32 addr)
{ … }
static u16 _usb_read16_sync(struct rtl_priv *rtlpriv, u32 addr)
{ … }
static u32 _usb_read32_sync(struct rtl_priv *rtlpriv, u32 addr)
{ … }
static void _usb_write8_sync(struct rtl_priv *rtlpriv, u32 addr, u8 val)
{ … }
static void _usb_write16_sync(struct rtl_priv *rtlpriv, u32 addr, u16 val)
{ … }
static void _usb_write32_sync(struct rtl_priv *rtlpriv, u32 addr, u32 val)
{ … }
static void _usb_write_chunk_sync(struct rtl_priv *rtlpriv, u32 addr,
u32 length, u8 *data)
{ … }
static void _rtl_usb_io_handler_init(struct device *dev,
struct ieee80211_hw *hw)
{ … }
static void _rtl_usb_io_handler_release(struct ieee80211_hw *hw)
{ … }
static struct sk_buff *_none_usb_tx_aggregate_hdl(struct ieee80211_hw *hw,
struct sk_buff_head *list)
{ … }
#define IS_HIGH_SPEED_USB(udev) …
static int _rtl_usb_init_tx(struct ieee80211_hw *hw)
{ … }
static void _rtl_rx_work(struct tasklet_struct *t);
static int _rtl_usb_init_rx(struct ieee80211_hw *hw)
{ … }
static int _rtl_usb_init(struct ieee80211_hw *hw)
{ … }
static void rtl_usb_init_sw(struct ieee80211_hw *hw)
{ … }
static void _rtl_rx_completed(struct urb *urb);
static int _rtl_prep_rx_urb(struct ieee80211_hw *hw, struct rtl_usb *rtlusb,
struct urb *urb, gfp_t gfp_mask)
{ … }
static void _rtl_usb_rx_process_agg(struct ieee80211_hw *hw,
struct sk_buff *skb)
{ … }
static void _rtl_usb_rx_process_noagg(struct ieee80211_hw *hw,
struct sk_buff *skb)
{ … }
static void _rtl_rx_pre_process(struct ieee80211_hw *hw, struct sk_buff *skb)
{ … }
#define __RX_SKB_MAX_QUEUED …
static void _rtl_rx_work(struct tasklet_struct *t)
{ … }
static unsigned int _rtl_rx_get_padding(struct ieee80211_hdr *hdr,
unsigned int len)
{ … }
#define __RADIO_TAP_SIZE_RSV …
static void _rtl_rx_completed(struct urb *_urb)
{ … }
#undef __RADIO_TAP_SIZE_RSV
static void _rtl_usb_cleanup_rx(struct ieee80211_hw *hw)
{ … }
static int _rtl_usb_receive(struct ieee80211_hw *hw)
{ … }
static int rtl_usb_start(struct ieee80211_hw *hw)
{ … }
static void _rtl_usb_cleanup_tx(struct ieee80211_hw *hw)
{ … }
static void rtl_usb_cleanup(struct ieee80211_hw *hw)
{ … }
static void rtl_usb_deinit(struct ieee80211_hw *hw)
{ … }
static void rtl_usb_stop(struct ieee80211_hw *hw)
{ … }
static void _rtl_submit_tx_urb(struct ieee80211_hw *hw, struct urb *_urb)
{ … }
static int _usb_tx_post(struct ieee80211_hw *hw, struct urb *urb,
struct sk_buff *skb)
{ … }
static void _rtl_tx_complete(struct urb *urb)
{ … }
static struct urb *_rtl_usb_tx_urb_setup(struct ieee80211_hw *hw,
struct sk_buff *skb, u32 ep_num)
{ … }
static void _rtl_usb_transmit(struct ieee80211_hw *hw, struct sk_buff *skb,
enum rtl_txq qnum)
{ … }
static void _rtl_usb_tx_preprocess(struct ieee80211_hw *hw,
struct ieee80211_sta *sta,
struct sk_buff *skb,
u16 hw_queue)
{ … }
static int rtl_usb_tx(struct ieee80211_hw *hw,
struct ieee80211_sta *sta,
struct sk_buff *skb,
struct rtl_tcb_desc *dummy)
{ … }
static bool rtl_usb_tx_chk_waitq_insert(struct ieee80211_hw *hw,
struct ieee80211_sta *sta,
struct sk_buff *skb)
{ … }
static void rtl_fill_h2c_cmd_work_callback(struct work_struct *work)
{ … }
static const struct rtl_intf_ops rtl_usb_ops = …;
int rtl_usb_probe(struct usb_interface *intf,
const struct usb_device_id *id,
const struct rtl_hal_cfg *rtl_hal_cfg)
{ … }
EXPORT_SYMBOL(…);
void rtl_usb_disconnect(struct usb_interface *intf)
{ … }
EXPORT_SYMBOL(…);
int rtl_usb_suspend(struct usb_interface *pusb_intf, pm_message_t message)
{ … }
EXPORT_SYMBOL(…);
int rtl_usb_resume(struct usb_interface *pusb_intf)
{ … }
EXPORT_SYMBOL(…);