#include <linux/module.h>
#include <linux/comedi/comedi_pci.h>
#include "addi_watchdog.h"
#define APCI1516_DI_REG …
#define APCI1516_DO_REG …
#define APCI1516_WDOG_REG …
enum apci1516_boardid { … };
struct apci1516_boardinfo { … };
static const struct apci1516_boardinfo apci1516_boardtypes[] = …;
struct apci1516_private { … };
static int apci1516_di_insn_bits(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
unsigned int *data)
{ … }
static int apci1516_do_insn_bits(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
unsigned int *data)
{ … }
static int apci1516_reset(struct comedi_device *dev)
{ … }
static int apci1516_auto_attach(struct comedi_device *dev,
unsigned long context)
{ … }
static void apci1516_detach(struct comedi_device *dev)
{ … }
static struct comedi_driver apci1516_driver = …;
static int apci1516_pci_probe(struct pci_dev *dev,
const struct pci_device_id *id)
{ … }
static const struct pci_device_id apci1516_pci_table[] = …;
MODULE_DEVICE_TABLE(pci, apci1516_pci_table);
static struct pci_driver apci1516_pci_driver = …;
module_comedi_pci_driver(…);
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;