staging: comedi: addi_apci_3120: enable chanlist scanning if needed
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Tue, 4 Nov 2014 17:54:56 +0000 (10:54 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 7 Nov 2014 17:34:03 +0000 (09:34 -0800)
The 'SCAN_ENA' bit in the mode register needs to be set if the chanlist
has more than 1 channel. Set the bit in apci3120_set_chanlist() if needed.
The callers write the mode register after setting any additional bits,

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

index f258ceb..ec66233 100644 (file)
@@ -307,6 +307,10 @@ static void apci3120_set_chanlist(struct comedi_device *dev,
        /* set scan length (PR) and scan start (PA) */
        devpriv->ctrl = APCI3120_CTRL_PR(n_chan - 1) | APCI3120_CTRL_PA(0);
        outw(devpriv->ctrl, dev->iobase + APCI3120_CTRL_REG);
+
+       /* enable chanlist scanning if necessary */
+       if (n_chan > 1)
+               devpriv->mode |= APCI3120_MODE_SCAN_ENA;
 }
 
 #include "addi-data/hwdrv_apci3120.c"