Commit a7d3de75 authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman

staging: comedi: drivers do not need to reset the async->cur_chan

The comedi core calls comedi_buf_reset() before starting an async command
(*do_cmd) and after returning a subdevice to an idle state (*cancel).

The drivers do not need to reset the async->cur_chan in those functions.
Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: default avatarIan Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 453fd2b3
...@@ -629,7 +629,6 @@ static int apci3120_cancel(struct comedi_device *dev, ...@@ -629,7 +629,6 @@ static int apci3120_cancel(struct comedi_device *dev,
inb(dev->iobase + APCI3120_RESET_FIFO); inb(dev->iobase + APCI3120_RESET_FIFO);
inw(dev->iobase + APCI3120_RD_STATUS); inw(dev->iobase + APCI3120_RD_STATUS);
devpriv->ui_AiActualScan = 0; devpriv->ui_AiActualScan = 0;
s->async->cur_chan = 0;
devpriv->ui_DmaActualBuffer = 0; devpriv->ui_DmaActualBuffer = 0;
devpriv->ai_running = 0; devpriv->ai_running = 0;
...@@ -758,7 +757,6 @@ static int apci3120_cyclic_ai(int mode, ...@@ -758,7 +757,6 @@ static int apci3120_cyclic_ai(int mode,
/* END JK 07.05.04: Comparison between WIN32 and Linux driver */ /* END JK 07.05.04: Comparison between WIN32 and Linux driver */
devpriv->ui_AiActualScan = 0; devpriv->ui_AiActualScan = 0;
s->async->cur_chan = 0;
devpriv->ui_DmaActualBuffer = 0; devpriv->ui_DmaActualBuffer = 0;
/* value for timer2 minus -2 has to be done */ /* value for timer2 minus -2 has to be done */
......
...@@ -575,7 +575,6 @@ static int pci9118_ai_cancel(struct comedi_device *dev, ...@@ -575,7 +575,6 @@ static int pci9118_ai_cancel(struct comedi_device *dev,
devpriv->ai_act_scan = 0; devpriv->ai_act_scan = 0;
devpriv->ai_act_dmapos = 0; devpriv->ai_act_dmapos = 0;
s->async->cur_chan = 0;
s->async->inttrig = NULL; s->async->inttrig = NULL;
devpriv->ai_neverending = 0; devpriv->ai_neverending = 0;
devpriv->dma_actbuf = 0; devpriv->dma_actbuf = 0;
...@@ -1120,7 +1119,6 @@ static int pci9118_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s) ...@@ -1120,7 +1119,6 @@ static int pci9118_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
devpriv->ai_act_scan = 0; devpriv->ai_act_scan = 0;
devpriv->ai_act_dmapos = 0; devpriv->ai_act_dmapos = 0;
s->async->cur_chan = 0;
if (devpriv->usedma) { if (devpriv->usedma) {
Compute_and_setup_dma(dev, s); Compute_and_setup_dma(dev, s);
......
...@@ -731,7 +731,6 @@ static int pci171x_ai_cancel(struct comedi_device *dev, ...@@ -731,7 +731,6 @@ static int pci171x_ai_cancel(struct comedi_device *dev,
} }
devpriv->ai_act_scan = 0; devpriv->ai_act_scan = 0;
s->async->cur_chan = 0;
return 0; return 0;
} }
...@@ -931,7 +930,6 @@ static int pci171x_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s) ...@@ -931,7 +930,6 @@ static int pci171x_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
outb(0, dev->iobase + PCI171x_CLRINT); outb(0, dev->iobase + PCI171x_CLRINT);
devpriv->ai_act_scan = 0; devpriv->ai_act_scan = 0;
s->async->cur_chan = 0;
devpriv->CntrlReg &= Control_CNT0; devpriv->CntrlReg &= Control_CNT0;
if ((cmd->flags & CMDF_WAKE_EOS) == 0) if ((cmd->flags & CMDF_WAKE_EOS) == 0)
......
...@@ -300,7 +300,6 @@ static int atmio16d_ai_cmd(struct comedi_device *dev, ...@@ -300,7 +300,6 @@ static int atmio16d_ai_cmd(struct comedi_device *dev,
* It is still uber-experimental */ * It is still uber-experimental */
reset_counters(dev); reset_counters(dev);
s->async->cur_chan = 0;
/* check if scanning multiple channels */ /* check if scanning multiple channels */
if (cmd->chanlist_len < 2) { if (cmd->chanlist_len < 2) {
......
...@@ -809,7 +809,6 @@ static int pcl812_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s) ...@@ -809,7 +809,6 @@ static int pcl812_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
devpriv->ai_act_scan = 0; devpriv->ai_act_scan = 0;
devpriv->ai_poll_ptr = 0; devpriv->ai_poll_ptr = 0;
s->async->cur_chan = 0;
/* don't we want wake up every scan? */ /* don't we want wake up every scan? */
if (cmd->flags & CMDF_WAKE_EOS) { if (cmd->flags & CMDF_WAKE_EOS) {
......
...@@ -509,7 +509,6 @@ static int pcl816_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s) ...@@ -509,7 +509,6 @@ static int pcl816_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
udelay(1); udelay(1);
devpriv->ai_act_scan = 0; devpriv->ai_act_scan = 0;
s->async->cur_chan = 0;
devpriv->ai_cmd_running = 1; devpriv->ai_cmd_running = 1;
devpriv->ai_poll_ptr = 0; devpriv->ai_poll_ptr = 0;
devpriv->ai_cmd_canceled = 0; devpriv->ai_cmd_canceled = 0;
......
...@@ -698,9 +698,6 @@ static int usbdux_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s) ...@@ -698,9 +698,6 @@ static int usbdux_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
if (devpriv->ai_cmd_running) if (devpriv->ai_cmd_running)
goto ai_cmd_exit; goto ai_cmd_exit;
/* set current channel of the running acquisition to zero */
s->async->cur_chan = 0;
devpriv->dux_commands[1] = len; devpriv->dux_commands[1] = len;
for (i = 0; i < len; ++i) { for (i = 0; i < len; ++i) {
unsigned int chan = CR_CHAN(cmd->chanlist[i]); unsigned int chan = CR_CHAN(cmd->chanlist[i]);
...@@ -996,9 +993,6 @@ static int usbdux_ao_cmd(struct comedi_device *dev, struct comedi_subdevice *s) ...@@ -996,9 +993,6 @@ static int usbdux_ao_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
if (devpriv->ao_cmd_running) if (devpriv->ao_cmd_running)
goto ao_cmd_exit; goto ao_cmd_exit;
/* set current channel of the running acquisition to zero */
s->async->cur_chan = 0;
/* we count in steps of 1ms (125us) */ /* we count in steps of 1ms (125us) */
/* 125us mode not used yet */ /* 125us mode not used yet */
if (0) { /* (devpriv->high_speed) */ if (0) { /* (devpriv->high_speed) */
......
...@@ -479,8 +479,6 @@ static int usbduxfast_ai_cmd(struct comedi_device *dev, ...@@ -479,8 +479,6 @@ static int usbduxfast_ai_cmd(struct comedi_device *dev,
up(&devpriv->sem); up(&devpriv->sem);
return -EBUSY; return -EBUSY;
} }
/* set current channel of the running acquisition to zero */
s->async->cur_chan = 0;
/* /*
* ignore the first buffers from the device if there * ignore the first buffers from the device if there
......
...@@ -689,8 +689,6 @@ static int usbduxsigma_ai_cmd(struct comedi_device *dev, ...@@ -689,8 +689,6 @@ static int usbduxsigma_ai_cmd(struct comedi_device *dev,
down(&devpriv->sem); down(&devpriv->sem);
/* set current channel of the running acquisition to zero */
s->async->cur_chan = 0;
for (i = 0; i < len; i++) { for (i = 0; i < len; i++) {
unsigned int chan = CR_CHAN(cmd->chanlist[i]); unsigned int chan = CR_CHAN(cmd->chanlist[i]);
...@@ -988,9 +986,6 @@ static int usbduxsigma_ao_cmd(struct comedi_device *dev, ...@@ -988,9 +986,6 @@ static int usbduxsigma_ao_cmd(struct comedi_device *dev,
down(&devpriv->sem); down(&devpriv->sem);
/* set current channel of the running acquisition to zero */
s->async->cur_chan = 0;
devpriv->ao_counter = devpriv->ao_timer; devpriv->ao_counter = devpriv->ao_timer;
if (cmd->start_src == TRIG_NOW) { if (cmd->start_src == TRIG_NOW) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment