#include <linux/module.h>
#include <linux/delay.h>
#include <linux/mutex.h>
#include <linux/comedi/comedi_pci.h>
#define READ_TIMEOUT …
static const struct comedi_lrange range_pci1050_ai = …;
static const char range_codes_pci1050_ai[] = …;
struct dyna_pci10xx_private { … };
static int dyna_pci10xx_ai_eoc(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
unsigned long context)
{ … }
static int dyna_pci10xx_insn_read_ai(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
unsigned int *data)
{ … }
static int dyna_pci10xx_insn_write_ao(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
unsigned int *data)
{ … }
static int dyna_pci10xx_di_insn_bits(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
unsigned int *data)
{ … }
static int dyna_pci10xx_do_insn_bits(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
unsigned int *data)
{ … }
static int dyna_pci10xx_auto_attach(struct comedi_device *dev,
unsigned long context_unused)
{ … }
static void dyna_pci10xx_detach(struct comedi_device *dev)
{ … }
static struct comedi_driver dyna_pci10xx_driver = …;
static int dyna_pci10xx_pci_probe(struct pci_dev *dev,
const struct pci_device_id *id)
{ … }
static const struct pci_device_id dyna_pci10xx_pci_table[] = …;
MODULE_DEVICE_TABLE(pci, dyna_pci10xx_pci_table);
static struct pci_driver dyna_pci10xx_pci_driver = …;
module_comedi_pci_driver(…);
MODULE_LICENSE(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;