staging: comedi: adv_pci1710: ai (*cancel) should not enable software trigger
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Fri, 13 Nov 2015 18:11:21 +0000 (11:11 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 18 Dec 2015 22:56:30 +0000 (14:56 -0800)
The (*cancel) operation should do just that. Remove the setting of the SW bit
which enables the software trigger.

For aesthetics, rename the function so it has namespace associated with the
driver and add a couple comments.

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/adv_pci1710.c

index e36b540..737d408 100644 (file)
@@ -365,16 +365,19 @@ static int pci171x_ai_insn_read(struct comedi_device *dev,
        return ret ? ret : insn->n;
 }
 
-static int pci171x_ai_cancel(struct comedi_device *dev,
+static int pci1710_ai_cancel(struct comedi_device *dev,
                             struct comedi_subdevice *s)
 {
        struct pci1710_private *devpriv = dev->private;
 
-       devpriv->ctrl &= PCI171X_CTRL_CNT0;
-       devpriv->ctrl |= PCI171X_CTRL_SW;
-       /* reset any operations */
+       /* disable A/D triggers and interrupt sources */
+       devpriv->ctrl &= PCI171X_CTRL_CNT0;     /* preserve counter 0 clk src */
        outw(devpriv->ctrl, dev->iobase + PCI171X_CTRL_REG);
+
+       /* disable pacer */
        comedi_8254_pacer_enable(dev->pacer, 1, 2, false);
+
+       /* clear A/D FIFO and any pending interrutps */
        outb(0, dev->iobase + PCI171X_CLRFIFO_REG);
        outb(0, dev->iobase + PCI171X_CLRINT_REG);
 
@@ -806,7 +809,7 @@ static int pci1710_auto_attach(struct comedi_device *dev,
                s->len_chanlist = s->n_chan;
                s->do_cmdtest   = pci171x_ai_cmdtest;
                s->do_cmd       = pci171x_ai_cmd;
-               s->cancel       = pci171x_ai_cancel;
+               s->cancel       = pci1710_ai_cancel;
        }
 
        /* find the value needed to adjust for unipolar gain codes */