staging: comedi: amplc_pci230: remove private data 'ai_scan_pos'
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Fri, 31 Oct 2014 16:49:32 +0000 (09:49 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 4 Nov 2014 00:31:24 +0000 (16:31 -0800)
This member of the private data is replicating what the comedi_async
'cur_chan' member is used for. Use that instead and remove the private
data member.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/amplc_pci230.c

index 44c967f..a46fffd 100644 (file)
@@ -491,7 +491,6 @@ struct pci230_private {
        spinlock_t ao_stop_spinlock;    /* Spin lock for stopping AO command */
        unsigned long daqio;            /* PCI230's DAQ I/O space */
        unsigned int ai_scan_count;     /* Number of AI scans remaining */
-       unsigned int ai_scan_pos;       /* Current position within AI scan */
        unsigned int ao_scan_count;     /* Number of AO scans remaining.  */
        int intr_cpuid;                 /* ID of CPU running ISR */
        unsigned short hwver;           /* Hardware version (for '+' models) */
@@ -1748,13 +1747,13 @@ static void pci230_ai_update_fifo_trigger_level(struct comedi_device *dev,
        unsigned short adccon;
 
        if (cmd->flags & CMDF_WAKE_EOS)
-               wake = scanlen - devpriv->ai_scan_pos;
+               wake = scanlen - s->async->cur_chan;
        else if (cmd->stop_src != TRIG_COUNT ||
                 devpriv->ai_scan_count >= PCI230_ADC_FIFOLEVEL_HALFFULL ||
                 scanlen >= PCI230_ADC_FIFOLEVEL_HALFFULL)
                wake = PCI230_ADC_FIFOLEVEL_HALFFULL;
        else
-               wake = devpriv->ai_scan_count * scanlen - devpriv->ai_scan_pos;
+               wake = devpriv->ai_scan_count * scanlen - s->async->cur_chan;
        if (wake >= PCI230_ADC_FIFOLEVEL_HALFFULL) {
                triglev = PCI230_ADC_INT_FIFO_HALF;
        } else if (wake > 1 && devpriv->hwver > 0) {
@@ -2064,7 +2063,7 @@ static void pci230_handle_ai(struct comedi_device *dev,
                   scanlen > PCI230_ADC_FIFOLEVEL_HALFFULL) {
                todo = PCI230_ADC_FIFOLEVEL_HALFFULL;
        } else {
-               todo = devpriv->ai_scan_count * scanlen - devpriv->ai_scan_pos;
+               todo = devpriv->ai_scan_count * scanlen - async->cur_chan;
                if (todo > PCI230_ADC_FIFOLEVEL_HALFFULL)
                        todo = PCI230_ADC_FIFOLEVEL_HALFFULL;
        }
@@ -2105,13 +2104,8 @@ static void pci230_handle_ai(struct comedi_device *dev,
                comedi_buf_write_samples(s, &val, 1);
 
                fifoamount--;
-               devpriv->ai_scan_pos++;
-               if (devpriv->ai_scan_pos == scanlen) {
-                       /* End of scan. */
-                       devpriv->ai_scan_pos = 0;
+               if (async->cur_chan == 0)
                        devpriv->ai_scan_count--;
-                       async->events |= COMEDI_CB_EOS;
-               }
        }
        if (cmd->stop_src == TRIG_COUNT && devpriv->ai_scan_count == 0) {
                /* End of acquisition. */
@@ -2158,7 +2152,6 @@ static int pci230_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
                return -EBUSY;
 
        devpriv->ai_scan_count = cmd->stop_arg;
-       devpriv->ai_scan_pos = 0;       /* Position within scan. */
 
        /*
         * Steps: