linux/drivers/net/can/sja1000/f81601.c

// SPDX-License-Identifier: GPL-2.0
/* Fintek F81601 PCIE to 2 CAN controller driver
 *
 * Copyright (C) 2019 Peter Hong <[email protected]>
 * Copyright (C) 2019 Linux Foundation
 */

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/interrupt.h>
#include <linux/netdevice.h>
#include <linux/delay.h>
#include <linux/slab.h>
#include <linux/pci.h>
#include <linux/can/dev.h>
#include <linux/io.h>

#include "sja1000.h"

#define F81601_PCI_MAX_CHAN

#define F81601_DECODE_REG
#define F81601_IO_MODE
#define F81601_MEM_MODE
#define F81601_CFG_MODE
#define F81601_CAN2_INTERNAL_CLK
#define F81601_CAN1_INTERNAL_CLK
#define F81601_CAN2_EN
#define F81601_CAN1_EN

#define F81601_TRAP_REG
#define F81601_CAN2_HAS_EN

struct f81601_pci_card {};

static const struct pci_device_id f81601_pci_tbl[] =;

MODULE_DEVICE_TABLE(pci, f81601_pci_tbl);

static bool internal_clk =;
module_param(internal_clk, bool, 0444);
MODULE_PARM_DESC();

static unsigned int external_clk;
module_param(external_clk, uint, 0444);
MODULE_PARM_DESC();

static u8 f81601_pci_read_reg(const struct sja1000_priv *priv, int port)
{}

static void f81601_pci_write_reg(const struct sja1000_priv *priv, int port,
				 u8 val)
{}

static void f81601_pci_remove(struct pci_dev *pdev)
{}

/* Probe F81601 based device for the SJA1000 chips and register each
 * available CAN channel to SJA1000 Socket-CAN subsystem.
 */
static int f81601_pci_probe(struct pci_dev *pdev,
			    const struct pci_device_id *ent)
{}

static struct pci_driver f81601_pci_driver =;

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

module_pci_driver();