#define pr_fmt(fmt) …
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/capability.h>
#include <linux/slab.h>
#include <linux/types.h>
#include <linux/fcntl.h>
#include <linux/in.h>
#include <linux/string.h>
#include <linux/errno.h>
#include <linux/init.h>
#include <linux/ioport.h>
#include <linux/netdevice.h>
#include <linux/hdlc.h>
#include <linux/pci.h>
#include <linux/delay.h>
#include <asm/io.h>
#include "hd64572.h"
#undef DEBUG_PKT
#define DEBUG_RINGS
#define PCI200SYN_PLX_SIZE …
#define PCI200SYN_SCA_SIZE …
#define MAX_TX_BUFFERS …
static int pci_clock_freq = …;
#define CLOCK_BASE …
plx9052;
port_t;
card_t;
#define get_port(card, port) …
#define sca_flush(card) …
static inline void new_memcpy_toio(char __iomem *dest, char *src, int length)
{ … }
#undef memcpy_toio
#define memcpy_toio …
#include "hd64572.c"
static void pci200_set_iface(port_t *port)
{ … }
static int pci200_open(struct net_device *dev)
{ … }
static int pci200_close(struct net_device *dev)
{ … }
static int pci200_siocdevprivate(struct net_device *dev, struct ifreq *ifr,
void __user *data, int cmd)
{ … }
static int pci200_ioctl(struct net_device *dev, struct if_settings *ifs)
{ … }
static void pci200_pci_remove_one(struct pci_dev *pdev)
{ … }
static const struct net_device_ops pci200_ops = …;
static int pci200_pci_init_one(struct pci_dev *pdev,
const struct pci_device_id *ent)
{ … }
static const struct pci_device_id pci200_pci_tbl[] = …;
static struct pci_driver pci200_pci_driver = …;
static int __init pci200_init_module(void)
{ … }
static void __exit pci200_cleanup_module(void)
{ … }
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_DEVICE_TABLE(pci, pci200_pci_tbl);
module_param(pci_clock_freq, int, 0444);
MODULE_PARM_DESC(…) …;
module_init(…) …;
module_exit(pci200_cleanup_module);