staging: comedi: pcl816: define the status register bits
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Tue, 4 Mar 2014 18:30:13 +0000 (11:30 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 7 Mar 2014 01:06:17 +0000 (17:06 -0800)
Define the bits in the status register.

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

index 55869106e158abfa1a665cb5232073f8b04fc6c0..6ad279362d602d93ff7cf85f16a9cdaf1200e1fe 100644 (file)
@@ -49,6 +49,15 @@ Configuration Options:
 #define PCL816_TIMER_BASE                      0x04
 #define PCL816_AI_LSB_REG                      0x08
 #define PCL816_AI_MSB_REG                      0x09
+#define PCL816_STATUS_REG                      0x0d
+#define PCL816_STATUS_NEXT_CHAN_MASK           (0xf << 0)
+#define PCL816_STATUS_INTSRC_MASK              (3 << 4)
+#define PCL816_STATUS_INTSRC_SLOT0             (0 << 4)
+#define PCL816_STATUS_INTSRC_SLOT1             (1 << 4)
+#define PCL816_STATUS_INTSRC_SLOT2             (2 << 4)
+#define PCL816_STATUS_INTSRC_DMA               (3 << 4)
+#define PCL816_STATUS_INTACT                   (1 << 6)
+#define PCL816_STATUS_DRDY                     (1 << 7)
 
 /* R: A/D high byte W: A/D range control */
 #define PCL816_RANGE 9
@@ -59,9 +68,6 @@ Configuration Options:
 /* R/W: operation control register */
 #define PCL816_CONTROL 12
 
-/* R: return status byte  W: set DMA/IRQ */
-#define PCL816_STATUS 13
-#define PCL816_STATUS_DRDY_MASK 0x80
 
 #define MAGIC_DMA_WORD 0x5a5a
 
@@ -235,8 +241,8 @@ static int pcl816_ai_eoc(struct comedi_device *dev,
 {
        unsigned int status;
 
-       status = inb(dev->iobase + PCL816_STATUS);
-       if ((status & PCL816_STATUS_DRDY_MASK) == 0)
+       status = inb(dev->iobase + PCL816_STATUS_REG);
+       if ((status & PCL816_STATUS_DRDY) == 0)
                return 0;
        return -EBUSY;
 }
@@ -432,7 +438,7 @@ static int pcl816_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
                outb(0x32, dev->iobase + PCL816_CONTROL);
 
                /*  write irq and DMA to card */
-               outb(dmairq, dev->iobase + PCL816_STATUS);
+               outb(dmairq, dev->iobase + PCL816_STATUS_REG);
                break;
 
        default:
@@ -440,7 +446,7 @@ static int pcl816_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
                outb(0x34, dev->iobase + PCL816_CONTROL);
 
                /*  write irq to card */
-               outb(dmairq, dev->iobase + PCL816_STATUS);
+               outb(dmairq, dev->iobase + PCL816_STATUS_REG);
                break;
        }