#define PAGE_INT_ID 3
typedef int (*comedi_insn_fn_t) (comedi_device *, comedi_subdevice *,
- comedi_insn *, lsampl_t *);
+ comedi_insn *, unsigned int *);
static int ai_rinsn(comedi_device *, comedi_subdevice *, comedi_insn *,
- lsampl_t *);
+ unsigned int *);
static int ao_rinsn(comedi_device *, comedi_subdevice *, comedi_insn *,
- lsampl_t *);
+ unsigned int *);
static int ao_winsn(comedi_device *, comedi_subdevice *, comedi_insn *,
- lsampl_t *);
+ unsigned int *);
/*
* Board descriptions for two imaginary boards. Describing the
} intr;
} dio;
struct {
- lsampl_t shadow_samples[8]; /* the last lsampl_t data written */
+ unsigned int shadow_samples[8]; /* the last unsigned int data written */
} ao;
};
} pcmmio_subdev_private;
};
static int pcmmio_dio_insn_bits(comedi_device * dev, comedi_subdevice * s,
- comedi_insn * insn, lsampl_t * data);
+ comedi_insn * insn, unsigned int * data);
static int pcmmio_dio_insn_config(comedi_device * dev, comedi_subdevice * s,
- comedi_insn * insn, lsampl_t * data);
+ comedi_insn * insn, unsigned int * data);
static irqreturn_t interrupt_pcmmio(int irq, void *d PT_REGS_ARG);
static void pcmmio_stop_intr(comedi_device *, comedi_subdevice *);
* This allows packed reading/writing of the DIO channels. The
* comedi core can convert between insn_bits and insn_read/write */
static int pcmmio_dio_insn_bits(comedi_device * dev, comedi_subdevice * s,
- comedi_insn * insn, lsampl_t * data)
+ comedi_insn * insn, unsigned int * data)
{
int byte_no;
if (insn->n != 2)
* contains the channel to be changed, and data[0] contains the
* value COMEDI_INPUT or COMEDI_OUTPUT. */
static int pcmmio_dio_insn_config(comedi_device * dev, comedi_subdevice * s,
- comedi_insn * insn, lsampl_t * data)
+ comedi_insn * insn, unsigned int * data)
{
int chan = CR_CHAN(insn->chanspec), byte_no = chan / 8, bit_no =
chan % 8;
if (mytrig & subpriv->
dio.intr.
enabled_mask) {
- lsampl_t val =
+ unsigned int val =
0;
unsigned int n,
ch, len;
}
}
/* Write the scan to the buffer. */
- if (comedi_buf_put(s->async, ((sampl_t *) & val)[0])
+ if (comedi_buf_put(s->async, ((short *) & val)[0])
&&
comedi_buf_put
- (s->async, ((sampl_t *) & val)[1])) {
+ (s->async, ((short *) & val)[1])) {
s->async->events |= (COMEDI_CB_BLOCK | COMEDI_CB_EOS);
} else {
/* Overflow! Stop acquisition!! */
/* All this is for AI and AO */
static int ai_rinsn(comedi_device * dev, comedi_subdevice * s,
- comedi_insn * insn, lsampl_t * data)
+ comedi_insn * insn, unsigned int * data)
{
int n;
unsigned long iobase = subpriv->iobase;
CR_AREF(insn->chanspec);
unsigned char command_byte = 0;
unsigned iooffset = 0;
- sampl_t sample, adc_adjust = 0;
+ short sample, adc_adjust = 0;
if (chan > 7)
chan -= 8, iooffset = 4; /* use the second dword for channels > 7 */
}
static int ao_rinsn(comedi_device * dev, comedi_subdevice * s,
- comedi_insn * insn, lsampl_t * data)
+ comedi_insn * insn, unsigned int * data)
{
int n;
for (n = 0; n < insn->n; n++) {
}
static int ao_winsn(comedi_device * dev, comedi_subdevice * s,
- comedi_insn * insn, lsampl_t * data)
+ comedi_insn * insn, unsigned int * data)
{
int n;
unsigned iobase = subpriv->iobase, iooffset = 0;