staging: comedi: adl_pci9118: all registers are 32-bit
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Thu, 4 Sep 2014 19:14:09 +0000 (12:14 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 8 Sep 2014 20:55:53 +0000 (13:55 -0700)
According to the PCI-9118 User's Manual, all registers are 32-bit. Fix a
couple of read/write operations that use 16-bit access.

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

index 225c0469cda928bd4173d4dd6cf5dcab2e27b1be..0a59e3dac86e20c0e9a912a2a610d044c961dd5f 100644 (file)
@@ -512,7 +512,7 @@ static int pci9118_insn_read_ai(struct comedi_device *dev,
        outl(0, dev->iobase + PCI9118_DELFIFO); /* flush FIFO */
 
        for (n = 0; n < insn->n; n++) {
-               outw(0, dev->iobase + PCI9118_SOFTTRG); /* start conversion */
+               outl(0, dev->iobase + PCI9118_SOFTTRG); /* start conversion */
                udelay(2);
 
                ret = comedi_timeout(dev, s, insn, pci9118_ai_eoc, 0);
@@ -527,7 +527,7 @@ static int pci9118_insn_read_ai(struct comedi_device *dev,
                                 PCI9118_AD_DATA) & 0xffff) ^ 0x8000;
                } else {
                        data[n] =
-                           (inw(dev->iobase + PCI9118_AD_DATA) >> 4) & 0xfff;
+                           (inl(dev->iobase + PCI9118_AD_DATA) >> 4) & 0xfff;
                }
        }
 
@@ -871,7 +871,7 @@ static void interrupt_pci9118_ai_onesample(struct comedi_device *dev,
                if (pci9118_decode_error_status(dev, s, int_adstat))
                        return;
 
-       sampl = inw(dev->iobase + PCI9118_AD_DATA);
+       sampl = inl(dev->iobase + PCI9118_AD_DATA);
 
 #ifdef PCI9118_PARANOIDCHECK
        if (s->maxdata != 0xffff) {
@@ -999,7 +999,7 @@ static irqreturn_t pci9118_interrupt(int irq, void *d)
 
        outl(intcsr | 0x00ff0000, devpriv->iobase_a + AMCC_OP_REG_INTCSR);
 
-       adstat = inw(dev->iobase + PCI9118_ADSTAT) & 0x1ff;
+       adstat = inl(dev->iobase + PCI9118_ADSTAT) & 0x1ff;
 
        if (!devpriv->ai_do)
                return IRQ_HANDLED;