#include <linux/iopoll.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/mmc/sdio_func.h>
#include <linux/mmc/card.h>
#include <linux/mmc/host.h>
#include <linux/sched.h>
#include <linux/kthread.h>
#include "mt76.h"
#include "sdio.h"
static u32 mt76s_read_whisr(struct mt76_dev *dev)
{ … }
u32 mt76s_read_pcr(struct mt76_dev *dev)
{ … }
EXPORT_SYMBOL_GPL(…);
static u32 mt76s_read_mailbox(struct mt76_dev *dev, u32 offset)
{ … }
static void mt76s_write_mailbox(struct mt76_dev *dev, u32 offset, u32 val)
{ … }
u32 mt76s_rr(struct mt76_dev *dev, u32 offset)
{ … }
EXPORT_SYMBOL_GPL(…);
void mt76s_wr(struct mt76_dev *dev, u32 offset, u32 val)
{ … }
EXPORT_SYMBOL_GPL(…);
u32 mt76s_rmw(struct mt76_dev *dev, u32 offset, u32 mask, u32 val)
{ … }
EXPORT_SYMBOL_GPL(…);
void mt76s_write_copy(struct mt76_dev *dev, u32 offset,
const void *data, int len)
{ … }
EXPORT_SYMBOL_GPL(…);
void mt76s_read_copy(struct mt76_dev *dev, u32 offset,
void *data, int len)
{ … }
EXPORT_SYMBOL_GPL(…);
int mt76s_wr_rp(struct mt76_dev *dev, u32 base,
const struct mt76_reg_pair *data,
int len)
{ … }
EXPORT_SYMBOL_GPL(…);
int mt76s_rd_rp(struct mt76_dev *dev, u32 base,
struct mt76_reg_pair *data, int len)
{ … }
EXPORT_SYMBOL_GPL(…);
int mt76s_hw_init(struct mt76_dev *dev, struct sdio_func *func, int hw_ver)
{ … }
EXPORT_SYMBOL_GPL(…);
int mt76s_alloc_rx_queue(struct mt76_dev *dev, enum mt76_rxq_id qid)
{ … }
EXPORT_SYMBOL_GPL(…);
static struct mt76_queue *mt76s_alloc_tx_queue(struct mt76_dev *dev)
{ … }
int mt76s_alloc_tx(struct mt76_dev *dev)
{ … }
EXPORT_SYMBOL_GPL(…);
static struct mt76_queue_entry *
mt76s_get_next_rx_entry(struct mt76_queue *q)
{ … }
static int
mt76s_process_rx_queue(struct mt76_dev *dev, struct mt76_queue *q)
{ … }
static void mt76s_net_worker(struct mt76_worker *w)
{ … }
static int mt76s_process_tx_queue(struct mt76_dev *dev, struct mt76_queue *q)
{ … }
static void mt76s_status_worker(struct mt76_worker *w)
{ … }
static void mt76s_tx_status_data(struct mt76_worker *worker)
{ … }
static int
mt76s_tx_queue_skb(struct mt76_phy *phy, struct mt76_queue *q,
enum mt76_txq_id qid, struct sk_buff *skb,
struct mt76_wcid *wcid, struct ieee80211_sta *sta)
{ … }
static int
mt76s_tx_queue_skb_raw(struct mt76_dev *dev, struct mt76_queue *q,
struct sk_buff *skb, u32 tx_info)
{ … }
static void mt76s_tx_kick(struct mt76_dev *dev, struct mt76_queue *q)
{ … }
static const struct mt76_queue_ops sdio_queue_ops = …;
void mt76s_deinit(struct mt76_dev *dev)
{ … }
EXPORT_SYMBOL_GPL(…);
int mt76s_init(struct mt76_dev *dev, struct sdio_func *func,
const struct mt76_bus_ops *bus_ops)
{ … }
EXPORT_SYMBOL_GPL(…);
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;