linux/drivers/net/can/esd/esd_402_pci-core.c

// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (C) 2015 - 2016 Thomas Körper, esd electronic system design gmbh
 * Copyright (C) 2017 - 2023 Stefan Mätje, esd electronics gmbh
 */

#include <linux/can/dev.h>
#include <linux/can.h>
#include <linux/can/netlink.h>
#include <linux/delay.h>
#include <linux/dma-mapping.h>
#include <linux/ethtool.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/netdevice.h>
#include <linux/pci.h>

#include "esdacc.h"

#define ESD_PCI_DEVICE_ID_PCIE402

#define PCI402_FPGA_VER_MIN
#define PCI402_MAX_CORES
#define PCI402_BAR
#define PCI402_IO_OV_OFFS
#define PCI402_IO_PCIEP_OFFS
#define PCI402_IO_LEN_TOTAL
#define PCI402_IO_LEN_CORE
#define PCI402_PCICFG_MSICAP

#define PCI402_DMA_MASK
#define PCI402_DMA_SIZE

#define PCI402_PCIEP_OF_INT_ENABLE
#define PCI402_PCIEP_OF_BM_ADDR_LO
#define PCI402_PCIEP_OF_BM_ADDR_HI
#define PCI402_PCIEP_OF_MSI_ADDR_LO
#define PCI402_PCIEP_OF_MSI_ADDR_HI

struct pci402_card {};

/* The BTR register capabilities described by the can_bittiming_const structures
 * below are valid since esdACC version 0x0032.
 */

/* Used if the esdACC FPGA is built as CAN-Classic version. */
static const struct can_bittiming_const pci402_bittiming_const =;

/* Used if the esdACC FPGA is built as CAN-FD version. */
static const struct can_bittiming_const pci402_bittiming_const_canfd =;

static const struct net_device_ops pci402_acc_netdev_ops =;

static const struct ethtool_ops pci402_acc_ethtool_ops =;

static irqreturn_t pci402_interrupt(int irq, void *dev_id)
{}

static int pci402_set_msiconfig(struct pci_dev *pdev)
{}

static int pci402_init_card(struct pci_dev *pdev)
{}

static int pci402_init_interrupt(struct pci_dev *pdev)
{}

static void pci402_finish_interrupt(struct pci_dev *pdev)
{}

static int pci402_init_dma(struct pci_dev *pdev)
{}

static void pci402_finish_dma(struct pci_dev *pdev)
{}

static void pci402_unregister_core(struct acc_core *core)
{}

static int pci402_init_cores(struct pci_dev *pdev)
{}

static void pci402_finish_cores(struct pci_dev *pdev)
{}

static int pci402_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
{}

static void pci402_remove(struct pci_dev *pdev)
{}

static const struct pci_device_id pci402_tbl[] =;
MODULE_DEVICE_TABLE(pci, pci402_tbl);

static struct pci_driver pci402_driver =;
module_pci_driver();

MODULE_DESCRIPTION();
MODULE_AUTHOR();
MODULE_AUTHOR();
MODULE_LICENSE();