#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/device.h>
#include <linux/dma/edma.h>
#include <linux/pci-epf.h>
#include <linux/msi.h>
#include <linux/bitfield.h>
#include "dw-edma-core.h"
#define DW_PCIE_VSEC_DMA_ID …
#define DW_PCIE_VSEC_DMA_BAR …
#define DW_PCIE_VSEC_DMA_MAP …
#define DW_PCIE_VSEC_DMA_WR_CH …
#define DW_PCIE_VSEC_DMA_RD_CH …
#define DW_BLOCK(a, b, c) …
struct dw_edma_block { … };
struct dw_edma_pcie_data { … };
static const struct dw_edma_pcie_data snps_edda_data = …;
static int dw_edma_pcie_irq_vector(struct device *dev, unsigned int nr)
{ … }
static u64 dw_edma_pcie_address(struct device *dev, phys_addr_t cpu_addr)
{ … }
static const struct dw_edma_plat_ops dw_edma_pcie_plat_ops = …;
static void dw_edma_pcie_get_vsec_dma_data(struct pci_dev *pdev,
struct dw_edma_pcie_data *pdata)
{ … }
static int dw_edma_pcie_probe(struct pci_dev *pdev,
const struct pci_device_id *pid)
{ … }
static void dw_edma_pcie_remove(struct pci_dev *pdev)
{ … }
static const struct pci_device_id dw_edma_pcie_id_table[] = …;
MODULE_DEVICE_TABLE(pci, dw_edma_pcie_id_table);
static struct pci_driver dw_edma_pcie_driver = …;
module_pci_driver(…) …;
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;