Fixed some stuff discovered by check_driver
authorDavid Schleef <ds@schleef.org>
Tue, 3 Apr 2001 23:48:23 +0000 (23:48 +0000)
committerDavid Schleef <ds@schleef.org>
Tue, 3 Apr 2001 23:48:23 +0000 (23:48 +0000)
comedi/drivers/adv_pci1710.c

index 57bbdd5b9c751ddae9997f2bd14696e874f43d64..4c451aec0218469ee5f1151eb10ff37e17e31958 100644 (file)
@@ -704,12 +704,13 @@ static void interrupt_pci1710_every_sample(void *d)
                                comedi_error_done(dev,s);
                                return;
                        }
-               s->cur_trig.data[s->async->buf_int_ptr>>1]=sampl & 0x0fff;
+               *(sampl_t *)(s->async->data+s->async->buf_int_ptr)=sampl & 0x0fff;
 #ifdef PCI171X_EXTDEBUG
                rt_printk("%8d %2d %8d~",s->async->buf_int_ptr,s->async->cur_chan,s->async->buf_int_count);
 #endif
 #else
-               s->cur_trig.data[s->async->buf_int_ptr>>1]=inw(dev->iobase+PCI171x_AD_DATA) & 0x0fff;
+               *(sampl_t *)(s->async->data+s->async->buf_int_ptr)=
+                       inw(dev->iobase+PCI171x_AD_DATA) & 0x0fff;
 #endif
                s->async->buf_int_count+=sizeof(sampl_t);
                s->async->buf_int_ptr+=sizeof(sampl_t);
@@ -824,7 +825,7 @@ static void interrupt_pci1710_half_fifo(void *d)
        samplesinbuf=this_board->fifo_half_size;
        if(s->async->buf_int_ptr+samplesinbuf*sizeof(sampl_t)>=devpriv->ai_data_len){
                m=(devpriv->ai_data_len-s->async->buf_int_ptr)/sizeof(sampl_t);
-               if (move_block_from_fifo(dev,s,((void *)(s->cur_trig.data))+s->async->buf_int_ptr,m,0))
+               if (move_block_from_fifo(dev,s,s->async->data+s->async->buf_int_ptr,m,0))
                        return;
                s->async->buf_int_count+=m*sizeof(sampl_t);
                samplesinbuf-=m;
@@ -839,7 +840,7 @@ static void interrupt_pci1710_half_fifo(void *d)
        }
 
        if (samplesinbuf) {
-               if (move_block_from_fifo(dev,s,((void *)(s->cur_trig.data))+s->async->buf_int_ptr,samplesinbuf,1))
+               if (move_block_from_fifo(dev,s,s->async->data+s->async->buf_int_ptr,samplesinbuf,1))
                        return;
 
                s->async->buf_int_count+=samplesinbuf*sizeof(sampl_t);
@@ -1188,8 +1189,8 @@ static int pci171x_ai_cmd(comedi_device *dev,comedi_subdevice *s)
        devpriv->ai_n_chan=cmd->chanlist_len;
        devpriv->ai_chanlist=cmd->chanlist;
        devpriv->ai_flags=cmd->flags;
-       devpriv->ai_data_len=cmd->data_len;
-       devpriv->ai_data=cmd->data;
+       devpriv->ai_data_len=s->async->data_len;
+       devpriv->ai_data=s->async->data;
        devpriv->ai_timer1=0;
        devpriv->ai_timer2=0;
 
@@ -1470,8 +1471,8 @@ static int pci1710_attach(comedi_device *dev,comedi_devconfig *it)
                return -EIO;
         }
 
+        request_region(iobase, this_board->iorange, "Advantech PCI-1710");
         dev->iobase=iobase;
-        request_region(dev->iobase, this_board->iorange, "Advantech PCI-1710");
     
        dev->board_name = this_board->name;