#define DEBUG …
#define RX_DMA_SKBUFF …
#define PKT_COPY_THRESHOLD …
#include <linux/module.h>
#include <linux/types.h>
#include <linux/errno.h>
#include <linux/ioport.h>
#include <linux/pci.h>
#include <linux/kernel.h>
#include <linux/netdevice.h>
#include <linux/hippidevice.h>
#include <linux/skbuff.h>
#include <linux/delay.h>
#include <linux/mm.h>
#include <linux/slab.h>
#include <net/sock.h>
#include <asm/cache.h>
#include <asm/byteorder.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <linux/uaccess.h>
#define rr_if_busy(dev) …
#define rr_if_running(dev) …
#include "rrunner.h"
#define RUN_AT(x) …
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
static const char version[] = …;
static const struct net_device_ops rr_netdev_ops = …;
static int rr_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
{ … }
static void rr_remove_one(struct pci_dev *pdev)
{ … }
static void rr_issue_cmd(struct rr_private *rrpriv, struct cmd *cmd)
{ … }
static int rr_reset(struct net_device *dev)
{ … }
static unsigned int rr_read_eeprom(struct rr_private *rrpriv,
unsigned long offset,
unsigned char *buf,
unsigned long length)
{ … }
static u32 rr_read_eeprom_word(struct rr_private *rrpriv,
size_t offset)
{ … }
static unsigned int write_eeprom(struct rr_private *rrpriv,
unsigned long offset,
unsigned char *buf,
unsigned long length)
{ … }
static int rr_init(struct net_device *dev)
{ … }
static int rr_init1(struct net_device *dev)
{ … }
static u32 rr_handle_event(struct net_device *dev, u32 prodidx, u32 eidx)
{ … }
static void rx_int(struct net_device *dev, u32 rxlimit, u32 index)
{ … }
static irqreturn_t rr_interrupt(int irq, void *dev_id)
{ … }
static inline void rr_raz_tx(struct rr_private *rrpriv,
struct net_device *dev)
{ … }
static inline void rr_raz_rx(struct rr_private *rrpriv,
struct net_device *dev)
{ … }
static void rr_timer(struct timer_list *t)
{ … }
static int rr_open(struct net_device *dev)
{ … }
static void rr_dump(struct net_device *dev)
{ … }
static int rr_close(struct net_device *dev)
{ … }
static netdev_tx_t rr_start_xmit(struct sk_buff *skb,
struct net_device *dev)
{ … }
static int rr_load_firmware(struct net_device *dev)
{ … }
static int rr_siocdevprivate(struct net_device *dev, struct ifreq *rq,
void __user *data, int cmd)
{ … }
static const struct pci_device_id rr_pci_tbl[] = …;
MODULE_DEVICE_TABLE(pci, rr_pci_tbl);
static struct pci_driver rr_driver = …;
module_pci_driver(…) …;