linux/drivers/net/can/c_can/c_can_pci.c

/*
 * PCI bus driver for Bosch C_CAN/D_CAN controller
 *
 * Copyright (C) 2012 Federico Vaga <[email protected]>
 *
 * Borrowed from c_can_platform.c
 *
 * This file is licensed under the terms of the GNU General Public
 * License version 2. This program is licensed "as is" without any
 * warranty of any kind, whether express or implied.
 */

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/netdevice.h>
#include <linux/pci.h>

#include <linux/can/dev.h>

#include "c_can.h"

#define PCI_DEVICE_ID_PCH_CAN
#define PCH_PCI_SOFT_RESET

enum c_can_pci_reg_align {};

struct c_can_pci_data {};

/* 16-bit c_can registers can be arranged differently in the memory
 * architecture of different implementations. For example: 16-bit
 * registers can be aligned to a 16-bit boundary or 32-bit boundary etc.
 * Handle the same by providing a common read/write interface.
 */
static u16 c_can_pci_read_reg_aligned_to_16bit(const struct c_can_priv *priv,
					       enum reg index)
{}

static void c_can_pci_write_reg_aligned_to_16bit(const struct c_can_priv *priv,
						 enum reg index, u16 val)
{}

static u16 c_can_pci_read_reg_aligned_to_32bit(const struct c_can_priv *priv,
					       enum reg index)
{}

static void c_can_pci_write_reg_aligned_to_32bit(const struct c_can_priv *priv,
						 enum reg index, u16 val)
{}

static u16 c_can_pci_read_reg_32bit(const struct c_can_priv *priv,
				    enum reg index)
{}

static void c_can_pci_write_reg_32bit(const struct c_can_priv *priv,
				      enum reg index, u16 val)
{}

static u32 c_can_pci_read_reg32(const struct c_can_priv *priv, enum reg index)
{}

static void c_can_pci_write_reg32(const struct c_can_priv *priv, enum reg index,
				  u32 val)
{}

static void c_can_pci_reset_pch(const struct c_can_priv *priv, bool enable)
{}

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

static void c_can_pci_remove(struct pci_dev *pdev)
{}

static const struct c_can_pci_data c_can_sta2x11 =;

static const struct c_can_pci_data c_can_pch =;

#define C_CAN_ID(_vend, _dev, _driverdata)

static const struct pci_device_id c_can_pci_tbl[] =;

static struct pci_driver c_can_pci_driver =;

module_pci_driver();

MODULE_AUTHOR();
MODULE_LICENSE();
MODULE_DESCRIPTION();
MODULE_DEVICE_TABLE(pci, c_can_pci_tbl);