[PATCH 040/108] staging: comedi: addi_apci_3120: define the "enable" bits in the mode register

H Hartley Sweeten hsweeten at visionengravers.com
Tue Nov 4 17:54:24 UTC 2014


For aesthetics, redefine the bits in the mode register that enable interrupts
and scanning.

Signed-off-by: H Hartley Sweeten <hsweeten at visionengravers.com>
Cc: Ian Abbott <abbotti at mev.co.uk>
Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
---
 .../comedi/drivers/addi-data/hwdrv_apci3120.c      | 38 +++++++++-------------
 drivers/staging/comedi/drivers/addi_apci_3120.c    |  4 +++
 2 files changed, 20 insertions(+), 22 deletions(-)

diff --git a/drivers/staging/comedi/drivers/addi-data/hwdrv_apci3120.c b/drivers/staging/comedi/drivers/addi-data/hwdrv_apci3120.c
index d2d0ef4..03ebe97 100644
--- a/drivers/staging/comedi/drivers/addi-data/hwdrv_apci3120.c
+++ b/drivers/staging/comedi/drivers/addi-data/hwdrv_apci3120.c
@@ -84,12 +84,6 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY
 #define APCI3120_RD_STATUS		0x02
 #define APCI3120_RD_FIFO		0x00
 
-/* nWrMode_Select */
-#define APCI3120_ENABLE_SCAN		0x8
-#define APCI3120_ENABLE_EOS_INT		0x2
-
-#define APCI3120_ENABLE_EOC_INT		0x1
-
 /* status register bits */
 #define APCI3120_EOC			0x8000
 #define APCI3120_EOS			0x2000
@@ -104,7 +98,6 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY
 #define APCI3120_WATCHDOG		2
 #define APCI3120_TIMER_DISABLE		0
 #define APCI3120_TIMER_ENABLE		1
-#define APCI3120_ENABLE_TIMER_INT	0x04
 #define APCI3120_WRITE_MODE_SELECT	0x0e
 
 #define APCI3120_RD_STATUS		0x02
@@ -246,7 +239,7 @@ static int apci3120_ai_insn_read(struct comedi_device *dev,
 			apci3120_timer_set_mode(dev, 0, APCI3120_TIMER_MODE4);
 
 			if (devpriv->b_EocEosInterrupt == APCI3120_ENABLE) {
-				devpriv->mode |= APCI3120_ENABLE_EOC_INT;
+				devpriv->mode |= APCI3120_MODE_EOC_IRQ_ENA;
 				inw(dev->iobase + 0);
 			}
 
@@ -294,13 +287,13 @@ static int apci3120_ai_insn_read(struct comedi_device *dev,
 			apci3120_timer_write(dev, 0, divisor);
 
 			/* Set the scan bit */
-			devpriv->mode |= APCI3120_ENABLE_SCAN;
+			devpriv->mode |= APCI3120_MODE_SCAN_ENA;
 			outb(devpriv->mode,
 			     dev->iobase + APCI3120_WRITE_MODE_SELECT);
 
 			/* If Interrupt function is loaded */
 			if (devpriv->b_EocEosInterrupt == APCI3120_ENABLE) {
-				devpriv->mode |= APCI3120_ENABLE_EOS_INT;
+				devpriv->mode |= APCI3120_MODE_EOS_IRQ_ENA;
 				inw(dev->iobase + 0);
 			}
 
@@ -556,7 +549,7 @@ static int apci3120_cyclic_ai(int mode,
 		devpriv->b_InterruptMode = APCI3120_EOS_MODE;
 		devpriv->b_EocEosInterrupt = APCI3120_ENABLE;
 
-		devpriv->mode |= APCI3120_ENABLE_EOS_INT;
+		devpriv->mode |= APCI3120_MODE_EOS_IRQ_ENA;
 		outb(devpriv->mode, dev->iobase + APCI3120_WRITE_MODE_SELECT);
 
 		if (cmd->stop_src == TRIG_COUNT) {
@@ -575,7 +568,7 @@ static int apci3120_cyclic_ai(int mode,
 			/*  select EOS clock input for timer 2 */
 			devpriv->mode |= APCI3120_TIMER2_SELECT_EOS;
 			/*  Enable timer2  interrupt */
-			devpriv->mode |= APCI3120_ENABLE_TIMER_INT;
+			devpriv->mode |= APCI3120_MODE_TIMER2_IRQ_ENA;
 			outb(devpriv->mode,
 			     dev->iobase + APCI3120_WRITE_MODE_SELECT);
 			devpriv->b_Timer2Mode = APCI3120_COUNTER;
@@ -965,7 +958,7 @@ static irqreturn_t apci3120_interrupt(int irq, void *d)
 			send_sig(SIGIO, devpriv->tsk_Current, 0);	/*  send signal to the sample */
 		} else {
 			/* Disable EOC Interrupt */
-			devpriv->mode &= ~APCI3120_ENABLE_EOC_INT;
+			devpriv->mode &= ~APCI3120_MODE_EOC_IRQ_ENA;
 			outb(devpriv->mode,
 			     dev->iobase + APCI3120_WRITE_MODE_SELECT);
 		}
@@ -979,7 +972,7 @@ static irqreturn_t apci3120_interrupt(int irq, void *d)
 			if (devpriv->ai_running) {
 				ui_Check = 0;
 				apci3120_interrupt_handle_eos(dev);
-				devpriv->mode |= APCI3120_ENABLE_EOS_INT;
+				devpriv->mode |= APCI3120_MODE_EOS_IRQ_ENA;
 				outb(devpriv->mode,
 				     dev->iobase + APCI3120_WRITE_MODE_SELECT);
 			} else {
@@ -998,7 +991,7 @@ static irqreturn_t apci3120_interrupt(int irq, void *d)
 			}
 
 		} else {
-			devpriv->mode &= ~APCI3120_ENABLE_EOS_INT;
+			devpriv->mode &= ~APCI3120_MODE_EOS_IRQ_ENA;
 			outb(devpriv->mode,
 			     dev->iobase + APCI3120_WRITE_MODE_SELECT);
 			devpriv->b_EocEosInterrupt = APCI3120_DISABLE;	/* Default settings */
@@ -1011,7 +1004,7 @@ static irqreturn_t apci3120_interrupt(int irq, void *d)
 
 		switch (devpriv->b_Timer2Mode) {
 		case APCI3120_COUNTER:
-			devpriv->mode &= ~APCI3120_ENABLE_EOS_INT;
+			devpriv->mode &= ~APCI3120_MODE_EOS_IRQ_ENA;
 			outb(devpriv->mode,
 			     dev->iobase + APCI3120_WRITE_MODE_SELECT);
 
@@ -1033,7 +1026,7 @@ static irqreturn_t apci3120_interrupt(int irq, void *d)
 		default:
 
 			/*  disable Timer Interrupt */
-			devpriv->mode &= ~APCI3120_ENABLE_TIMER_INT;
+			devpriv->mode &= ~APCI3120_MODE_TIMER2_IRQ_ENA;
 			outb(devpriv->mode,
 			     dev->iobase + APCI3120_WRITE_MODE_SELECT);
 		}
@@ -1089,11 +1082,12 @@ static int apci3120_config_insn_timer(struct comedi_device *dev,
 	apci3120_timer_enable(dev, 2, false);
 
 	/*  Disable TIMER Interrupt */
-	devpriv->mode &= ~APCI3120_ENABLE_TIMER_INT &
+	devpriv->mode &= ~APCI3120_MODE_TIMER2_IRQ_ENA &
 			 ~APCI3120_ENABLE_TIMER_COUNTER;
 
 	/*  Disable Eoc and Eos Interrupts */
-	devpriv->mode &= ~APCI3120_ENABLE_EOC_INT & ~APCI3120_ENABLE_EOS_INT;
+	devpriv->mode &= ~APCI3120_MODE_EOC_IRQ_ENA &
+			 ~APCI3120_MODE_EOS_IRQ_ENA;
 	outb(devpriv->mode, dev->iobase + APCI3120_WRITE_MODE_SELECT);
 
 	if (data[0] == APCI3120_TIMER) {	/* initialize timer */
@@ -1170,12 +1164,12 @@ static int apci3120_write_insn_timer(struct comedi_device *dev,
 
 		/* enable disable interrupt */
 		if ((devpriv->b_Timer2Interrupt) == APCI3120_ENABLE) {
-			devpriv->mode |= APCI3120_ENABLE_TIMER_INT;
+			devpriv->mode |= APCI3120_MODE_TIMER2_IRQ_ENA;
 
 			/*  save the task structure to pass info to user */
 			devpriv->tsk_Current = current;
 		} else {
-			devpriv->mode &= ~APCI3120_ENABLE_TIMER_INT;
+			devpriv->mode &= ~APCI3120_MODE_TIMER2_IRQ_ENA;
 		}
 		outb(devpriv->mode, dev->iobase + APCI3120_WRITE_MODE_SELECT);
 
@@ -1193,7 +1187,7 @@ static int apci3120_write_insn_timer(struct comedi_device *dev,
 			devpriv->mode &= ~APCI3120_ENABLE_WATCHDOG;
 		}
 		/*  Disable timer interrupt */
-		devpriv->mode &= ~APCI3120_ENABLE_TIMER_INT;
+		devpriv->mode &= ~APCI3120_MODE_TIMER2_IRQ_ENA;
 		outb(devpriv->mode, dev->iobase + APCI3120_WRITE_MODE_SELECT);
 
 		apci3120_timer_enable(dev, 2, false);
diff --git a/drivers/staging/comedi/drivers/addi_apci_3120.c b/drivers/staging/comedi/drivers/addi_apci_3120.c
index e1c0535..603bebb 100644
--- a/drivers/staging/comedi/drivers/addi_apci_3120.c
+++ b/drivers/staging/comedi/drivers/addi_apci_3120.c
@@ -40,6 +40,10 @@
 #define APCI3120_CTR0_REG			0x0d
 #define APCI3120_CTR0_DO_BITS(x)		((x) << 4)
 #define APCI3120_CTR0_TIMER_SEL(x)		((x) << 0)
+#define APCI3120_MODE_SCAN_ENA			(1 << 3)
+#define APCI3120_MODE_TIMER2_IRQ_ENA		(1 << 2)
+#define APCI3120_MODE_EOS_IRQ_ENA		(1 << 1)
+#define APCI3120_MODE_EOC_IRQ_ENA		(1 << 0)
 
 /*
  * PCI BAR 2 register map (devpriv->addon)
-- 
2.0.3



More information about the devel mailing list