#include <linux/module.h>
#include <linux/interrupt.h>
#include <linux/delay.h>
#include <linux/comedi/comedi_pcmcia.h>
#include <linux/comedi/comedi_8254.h>
#define DAS16CS_AI_DATA_REG …
#define DAS16CS_AI_MUX_REG …
#define DAS16CS_AI_MUX_HI_CHAN(x) …
#define DAS16CS_AI_MUX_LO_CHAN(x) …
#define DAS16CS_AI_MUX_SINGLE_CHAN(x) …
#define DAS16CS_MISC1_REG …
#define DAS16CS_MISC1_INTE …
#define DAS16CS_MISC1_INT_SRC(x) …
#define DAS16CS_MISC1_INT_SRC_NONE …
#define DAS16CS_MISC1_INT_SRC_PACER …
#define DAS16CS_MISC1_INT_SRC_EXT …
#define DAS16CS_MISC1_INT_SRC_FNE …
#define DAS16CS_MISC1_INT_SRC_FHF …
#define DAS16CS_MISC1_INT_SRC_EOS …
#define DAS16CS_MISC1_INT_SRC_MASK …
#define DAS16CS_MISC1_OVR …
#define DAS16CS_MISC1_AI_CONV(x) …
#define DAS16CS_MISC1_AI_CONV_SW …
#define DAS16CS_MISC1_AI_CONV_EXT_NEG …
#define DAS16CS_MISC1_AI_CONV_EXT_POS …
#define DAS16CS_MISC1_AI_CONV_PACER …
#define DAS16CS_MISC1_AI_CONV_MASK …
#define DAS16CS_MISC1_EOC …
#define DAS16CS_MISC1_SEDIFF …
#define DAS16CS_MISC1_INTB …
#define DAS16CS_MISC1_MA_MASK …
#define DAS16CS_MISC1_DAC1CS …
#define DAS16CS_MISC1_DACCLK …
#define DAS16CS_MISC1_DACSD …
#define DAS16CS_MISC1_DAC0CS …
#define DAS16CS_MISC1_DAC_MASK …
#define DAS16CS_MISC2_REG …
#define DAS16CS_MISC2_BME …
#define DAS16CS_MISC2_AI_GAIN(x) …
#define DAS16CS_MISC2_AI_GAIN_1 …
#define DAS16CS_MISC2_AI_GAIN_2 …
#define DAS16CS_MISC2_AI_GAIN_4 …
#define DAS16CS_MISC2_AI_GAIN_8 …
#define DAS16CS_MISC2_AI_GAIN_MASK …
#define DAS16CS_MISC2_UDIR …
#define DAS16CS_MISC2_LDIR …
#define DAS16CS_MISC2_TRGPOL …
#define DAS16CS_MISC2_TRGSEL …
#define DAS16CS_MISC2_FFNE …
#define DAS16CS_MISC2_TRGCLR …
#define DAS16CS_MISC2_CLK2 …
#define DAS16CS_MISC2_CTR1 …
#define DAS16CS_MISC2_TRG0 …
#define DAS16CS_TIMER_BASE …
#define DAS16CS_DIO_REG …
struct das16cs_board { … };
static const struct das16cs_board das16cs_boards[] = …;
struct das16cs_private { … };
static const struct comedi_lrange das16cs_ai_range = …;
static int das16cs_ai_eoc(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
unsigned long context)
{ … }
static int das16cs_ai_insn_read(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
unsigned int *data)
{ … }
static int das16cs_ao_insn_write(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
unsigned int *data)
{ … }
static int das16cs_dio_insn_bits(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
unsigned int *data)
{ … }
static int das16cs_dio_insn_config(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
unsigned int *data)
{ … }
static int das16cs_counter_insn_config(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
unsigned int *data)
{ … }
static const void *das16cs_find_boardinfo(struct comedi_device *dev,
struct pcmcia_device *link)
{ … }
static int das16cs_auto_attach(struct comedi_device *dev,
unsigned long context)
{ … }
static struct comedi_driver driver_das16cs = …;
static int das16cs_pcmcia_attach(struct pcmcia_device *link)
{ … }
static const struct pcmcia_device_id das16cs_id_table[] = …;
MODULE_DEVICE_TABLE(pcmcia, das16cs_id_table);
static struct pcmcia_driver das16cs_driver = …;
module_comedi_pcmcia_driver(…);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;