linux/drivers/net/wireless/mediatek/mt76/sdio.c

// SPDX-License-Identifier: ISC
/* Copyright (C) 2020 MediaTek Inc.
 *
 * This file is written based on mt76/usb.c.
 *
 * Author: Felix Fietkau <[email protected]>
 *	   Lorenzo Bianconi <[email protected]>
 *	   Sean Wang <[email protected]>
 */

#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();