#define DAS1600_WS 0x02
#define DAS1600_CLK_10MHZ 0x01
-static const comedi_lrange range_das1x01_bip = { 4, {
+static const struct comedi_lrange range_das1x01_bip = { 4, {
BIP_RANGE(10),
BIP_RANGE(1),
BIP_RANGE(0.1),
BIP_RANGE(0.01),
}
};
-static const comedi_lrange range_das1x01_unip = { 4, {
+static const struct comedi_lrange range_das1x01_unip = { 4, {
UNI_RANGE(10),
UNI_RANGE(1),
UNI_RANGE(0.1),
UNI_RANGE(0.01),
}
};
-static const comedi_lrange range_das1x02_bip = { 4, {
+static const struct comedi_lrange range_das1x02_bip = { 4, {
BIP_RANGE(10),
BIP_RANGE(5),
BIP_RANGE(2.5),
BIP_RANGE(1.25),
}
};
-static const comedi_lrange range_das1x02_unip = { 4, {
+static const struct comedi_lrange range_das1x02_unip = { 4, {
UNI_RANGE(10),
UNI_RANGE(5),
UNI_RANGE(2.5),
UNI_RANGE(1.25),
}
};
-static const comedi_lrange range_das16jr = { 9, {
+static const struct comedi_lrange range_das16jr = { 9, {
// also used by 16/330
BIP_RANGE(10),
BIP_RANGE(5),
UNI_RANGE(1.25),
}
};
-static const comedi_lrange range_das16jr_16 = { 8, {
+static const struct comedi_lrange range_das16jr_16 = { 8, {
BIP_RANGE(10),
BIP_RANGE(5),
BIP_RANGE(2.5),
das1600_gainlist,
das1600_gainlist,
};
-static const comedi_lrange *const das16_ai_uni_lranges[] = {
+static const struct comedi_lrange *const das16_ai_uni_lranges[] = {
&range_unknown,
&range_das16jr,
&range_das16jr_16,
&range_das1x01_unip,
&range_das1x02_unip,
};
-static const comedi_lrange *const das16_ai_bip_lranges[] = {
+static const struct comedi_lrange *const das16_ai_bip_lranges[] = {
&range_unknown,
&range_das16jr,
&range_das16jr_16,
unsigned have_byte:1;
};
-static int das16_ao_winsn(comedi_device * dev, comedi_subdevice * s,
- comedi_insn * insn, lsampl_t * data);
-static int das16_do_wbits(comedi_device * dev, comedi_subdevice * s,
- comedi_insn * insn, lsampl_t * data);
-static int das16_di_rbits(comedi_device * dev, comedi_subdevice * s,
- comedi_insn * insn, lsampl_t * data);
-static int das16_ai_rinsn(comedi_device * dev, comedi_subdevice * s,
- comedi_insn * insn, lsampl_t * data);
-
-static int das16_cmd_test(comedi_device * dev, comedi_subdevice * s,
- comedi_cmd * cmd);
-static int das16_cmd_exec(comedi_device * dev, comedi_subdevice * s);
-static int das16_cancel(comedi_device * dev, comedi_subdevice * s);
-static void das16_ai_munge(comedi_device * dev, comedi_subdevice * s,
+static int das16_ao_winsn(struct comedi_device * dev, struct comedi_subdevice * s,
+ struct comedi_insn * insn, unsigned int * data);
+static int das16_do_wbits(struct comedi_device * dev, struct comedi_subdevice * s,
+ struct comedi_insn * insn, unsigned int * data);
+static int das16_di_rbits(struct comedi_device * dev, struct comedi_subdevice * s,
+ struct comedi_insn * insn, unsigned int * data);
+static int das16_ai_rinsn(struct comedi_device * dev, struct comedi_subdevice * s,
+ struct comedi_insn * insn, unsigned int * data);
+
+static int das16_cmd_test(struct comedi_device * dev, struct comedi_subdevice * s,
+ struct comedi_cmd * cmd);
+static int das16_cmd_exec(struct comedi_device * dev, struct comedi_subdevice * s);
+static int das16_cancel(struct comedi_device * dev, struct comedi_subdevice * s);
+static void das16_ai_munge(struct comedi_device * dev, struct comedi_subdevice * s,
void *array, unsigned int num_bytes, unsigned int start_chan_index);
-static void das16_reset(comedi_device * dev);
+static void das16_reset(struct comedi_device * dev);
static irqreturn_t das16_dma_interrupt(int irq, void *d PT_REGS_ARG);
static void das16_timer_interrupt(unsigned long arg);
-static void das16_interrupt(comedi_device * dev);
+static void das16_interrupt(struct comedi_device * dev);
-static unsigned int das16_set_pacer(comedi_device * dev, unsigned int ns,
+static unsigned int das16_set_pacer(struct comedi_device * dev, unsigned int ns,
int flags);
-static int das1600_mode_detect(comedi_device * dev);
-static unsigned int das16_suggest_transfer_size(comedi_device * dev,
- comedi_cmd cmd);
+static int das1600_mode_detect(struct comedi_device * dev);
+static unsigned int das16_suggest_transfer_size(struct comedi_device * dev,
+ struct comedi_cmd cmd);
-static void reg_dump(comedi_device * dev);
+static void reg_dump(struct comedi_device * dev);
typedef struct das16_board_struct {
const char *name;
#define n_das16_boards ((sizeof(das16_boards))/(sizeof(das16_board)))
-static int das16_attach(comedi_device * dev, comedi_devconfig * it);
-static int das16_detach(comedi_device * dev);
-static comedi_driver driver_das16 = {
+static int das16_attach(struct comedi_device * dev, comedi_devconfig * it);
+static int das16_detach(struct comedi_device * dev);
+static struct comedi_driver driver_das16 = {
driver_name:"das16",
module:THIS_MODULE,
attach:das16_attach,
unsigned int current_buffer;
volatile unsigned int dma_transfer_size; // target number of bytes to transfer per dma shot
// user-defined analog input and output ranges defined from config options
- comedi_lrange *user_ai_range_table;
- comedi_lrange *user_ao_range_table;
+ struct comedi_lrange *user_ai_range_table;
+ struct comedi_lrange *user_ao_range_table;
struct timer_list timer; // for timed interrupt
volatile short timer_running;
#define devpriv ((struct das16_private_struct *)(dev->private))
#define thisboard ((struct das16_board_struct *)(dev->board_ptr))
-static int das16_cmd_test(comedi_device * dev, comedi_subdevice * s,
- comedi_cmd * cmd)
+static int das16_cmd_test(struct comedi_device * dev, struct comedi_subdevice * s,
+ struct comedi_cmd * cmd)
{
int err = 0, tmp;
int gain, start_chan, i;
return 0;
}
-static int das16_cmd_exec(comedi_device * dev, comedi_subdevice * s)
+static int das16_cmd_exec(struct comedi_device * dev, struct comedi_subdevice * s)
{
- comedi_async *async = s->async;
- comedi_cmd *cmd = &async->cmd;
+ struct comedi_async *async = s->async;
+ struct comedi_cmd *cmd = &async->cmd;
unsigned int byte;
unsigned long flags;
int range;
return 0;
}
-static int das16_cancel(comedi_device * dev, comedi_subdevice * s)
+static int das16_cancel(struct comedi_device * dev, struct comedi_subdevice * s)
{
unsigned long flags;
return 0;
}
-static void das16_reset(comedi_device * dev)
+static void das16_reset(struct comedi_device * dev)
{
outb(0, dev->iobase + DAS16_STATUS);
outb(0, dev->iobase + DAS16_CONTROL);
outb(0, dev->iobase + DAS16_CNTR_CONTROL);
}
-static int das16_ai_rinsn(comedi_device * dev, comedi_subdevice * s,
- comedi_insn * insn, lsampl_t * data)
+static int das16_ai_rinsn(struct comedi_device * dev, struct comedi_subdevice * s,
+ struct comedi_insn * insn, unsigned int * data)
{
int i, n;
int range;
return n;
}
-static int das16_di_rbits(comedi_device * dev, comedi_subdevice * s,
- comedi_insn * insn, lsampl_t * data)
+static int das16_di_rbits(struct comedi_device * dev, struct comedi_subdevice * s,
+ struct comedi_insn * insn, unsigned int * data)
{
- lsampl_t bits;
+ unsigned int bits;
bits = inb(dev->iobase + DAS16_DIO) & 0xf;
data[1] = bits;
return 2;
}
-static int das16_do_wbits(comedi_device * dev, comedi_subdevice * s,
- comedi_insn * insn, lsampl_t * data)
+static int das16_do_wbits(struct comedi_device * dev, struct comedi_subdevice * s,
+ struct comedi_insn * insn, unsigned int * data)
{
- lsampl_t wbits;
+ unsigned int wbits;
// only set bits that have been masked
data[0] &= 0xf;
return 2;
}
-static int das16_ao_winsn(comedi_device * dev, comedi_subdevice * s,
- comedi_insn * insn, lsampl_t * data)
+static int das16_ao_winsn(struct comedi_device * dev, struct comedi_subdevice * s,
+ struct comedi_insn * insn, unsigned int * data)
{
int i;
int lsb, msb;
static irqreturn_t das16_dma_interrupt(int irq, void *d PT_REGS_ARG)
{
int status;
- comedi_device *dev = d;
+ struct comedi_device *dev = d;
status = inb(dev->iobase + DAS16_STATUS);
static void das16_timer_interrupt(unsigned long arg)
{
- comedi_device *dev = (comedi_device *) arg;
+ struct comedi_device *dev = (struct comedi_device *) arg;
das16_interrupt(dev);
an even transfer count after disabling dma
channel.
*/
-static int disable_dma_on_even(comedi_device * dev)
+static int disable_dma_on_even(struct comedi_device * dev)
{
int residue;
int i;
return residue;
}
-static void das16_interrupt(comedi_device * dev)
+static void das16_interrupt(struct comedi_device * dev)
{
unsigned long dma_flags, spin_flags;
- comedi_subdevice *s = dev->read_subdev;
- comedi_async *async;
- comedi_cmd *cmd;
+ struct comedi_subdevice *s = dev->read_subdev;
+ struct comedi_async *async;
+ struct comedi_cmd *cmd;
int num_bytes, residue;
int buffer_index;
cfc_handle_events(dev, s);
}
-static unsigned int das16_set_pacer(comedi_device * dev, unsigned int ns,
+static unsigned int das16_set_pacer(struct comedi_device * dev, unsigned int ns,
int rounding_flags)
{
i8253_cascade_ns_to_timer_2div(devpriv->clockbase, &(devpriv->divisor1),
return ns;
}
-static void reg_dump(comedi_device * dev)
+static void reg_dump(struct comedi_device * dev)
{
DEBUG_PRINT("********DAS1600 REGISTER DUMP********\n");
DEBUG_PRINT("DAS16_MUX: %x\n", inb(dev->iobase + DAS16_MUX));
inb(dev->iobase + DAS1600_STATUS_B));
}
-static int das16_probe(comedi_device * dev, comedi_devconfig * it)
+static int das16_probe(struct comedi_device * dev, comedi_devconfig * it)
{
int status;
int diobits;
return 0;
}
-static int das1600_mode_detect(comedi_device * dev)
+static int das1600_mode_detect(struct comedi_device * dev)
{
int status = 0;
* 3 Clock speed (in MHz)
*/
-static int das16_attach(comedi_device * dev, comedi_devconfig * it)
+static int das16_attach(struct comedi_device * dev, comedi_devconfig * it)
{
- comedi_subdevice *s;
+ struct comedi_subdevice *s;
int ret;
unsigned int irq;
unsigned long iobase;
(it->options[4] || it->options[5])) {
// allocate single-range range table
devpriv->user_ai_range_table =
- kmalloc(sizeof(comedi_lrange) + sizeof(comedi_krange),
+ kmalloc(sizeof(struct comedi_lrange) + sizeof(comedi_krange),
GFP_KERNEL);
// initialize ai range
devpriv->user_ai_range_table->length = 1;
if (it->options[6] || it->options[7]) {
// allocate single-range range table
devpriv->user_ao_range_table =
- kmalloc(sizeof(comedi_lrange) + sizeof(comedi_krange),
+ kmalloc(sizeof(struct comedi_lrange) + sizeof(comedi_krange),
GFP_KERNEL);
// initialize ao range
devpriv->user_ao_range_table->length = 1;
return 0;
}
-static int das16_detach(comedi_device * dev)
+static int das16_detach(struct comedi_device * dev)
{
printk("comedi%d: das16: remove\n", dev->minor);
COMEDI_INITCLEANUP(driver_das16);
// utility function that suggests a dma transfer size in bytes
-static unsigned int das16_suggest_transfer_size(comedi_device * dev,
- comedi_cmd cmd)
+static unsigned int das16_suggest_transfer_size(struct comedi_device * dev,
+ struct comedi_cmd cmd)
{
unsigned int size;
unsigned int freq;
return size;
}
-static void das16_ai_munge(comedi_device * dev, comedi_subdevice * s,
+static void das16_ai_munge(struct comedi_device * dev, struct comedi_subdevice * s,
void *array, unsigned int num_bytes, unsigned int start_chan_index)
{
- unsigned int i, num_samples = num_bytes / sizeof(sampl_t);
- sampl_t *data = array;
+ unsigned int i, num_samples = num_bytes / sizeof(short);
+ short *data = array;
for (i = 0; i < num_samples; i++) {
data[i] = le16_to_cpu(data[i]);