#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/rtnetlink.h>
#include "mt7996.h"
#include "mac.h"
#include "mcu.h"
#include "../trace.h"
#include "../dma.h"
static bool wed_enable;
module_param(wed_enable, bool, 0644);
static const struct __base mt7996_reg_base[] = …;
static const u32 mt7996_offs[] = …;
static const u32 mt7992_offs[] = …;
static const struct __map mt7996_reg_map[] = …;
static u32 mt7996_reg_map_l1(struct mt7996_dev *dev, u32 addr)
{ … }
static u32 mt7996_reg_map_l2(struct mt7996_dev *dev, u32 addr)
{ … }
static u32 __mt7996_reg_addr(struct mt7996_dev *dev, u32 addr)
{ … }
static u32 __mt7996_reg_remap_addr(struct mt7996_dev *dev, u32 addr)
{ … }
void mt7996_memcpy_fromio(struct mt7996_dev *dev, void *buf, u32 offset,
size_t len)
{ … }
static u32 mt7996_rr(struct mt76_dev *mdev, u32 offset)
{ … }
static void mt7996_wr(struct mt76_dev *mdev, u32 offset, u32 val)
{ … }
static u32 mt7996_rmw(struct mt76_dev *mdev, u32 offset, u32 mask, u32 val)
{ … }
#ifdef CONFIG_NET_MEDIATEK_SOC_WED
static int mt7996_mmio_wed_reset(struct mtk_wed_device *wed)
{ … }
#endif
int mt7996_mmio_wed_init(struct mt7996_dev *dev, void *pdev_ptr,
bool hif2, int *irq)
{ … }
static int mt7996_mmio_init(struct mt76_dev *mdev,
void __iomem *mem_base,
u32 device_id)
{ … }
void mt7996_dual_hif_set_irq_mask(struct mt7996_dev *dev, bool write_reg,
u32 clear, u32 set)
{ … }
static void mt7996_rx_poll_complete(struct mt76_dev *mdev,
enum mt76_rxq_id q)
{ … }
static void mt7996_irq_tasklet(struct tasklet_struct *t)
{ … }
irqreturn_t mt7996_irq_handler(int irq, void *dev_instance)
{ … }
struct mt7996_dev *mt7996_mmio_probe(struct device *pdev,
void __iomem *mem_base, u32 device_id)
{ … }
static int __init mt7996_init(void)
{ … }
static void __exit mt7996_exit(void)
{ … }
module_init(…) …;
module_exit(mt7996_exit);
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;