summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH Hartley Sweeten <hsweeten@visionengravers.com>2014-03-04 11:30:13 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-03-06 17:06:17 -0800
commitf72196eca4ec8159b61a47e19f84d32446b3cede (patch)
tree1fa10cb8e1ec08d5d99947c82ff46c97a11a967c
parent8d0b5e15df78c56bd9ac34cfba80d644a3240511 (diff)
staging: comedi: pcl816: define the status register bits
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>
-rw-r--r--drivers/staging/comedi/drivers/pcl816.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/drivers/staging/comedi/drivers/pcl816.c b/drivers/staging/comedi/drivers/pcl816.c
index 55869106e158..6ad279362d60 100644
--- a/drivers/staging/comedi/drivers/pcl816.c
+++ b/drivers/staging/comedi/drivers/pcl816.c
@@ -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;
}