[PATCH 12/15] staging: comedi: addi_apci_3501: remove "magic" numbers in apci3501_interrupt()

H Hartley Sweeten hsweeten at visionengravers.com
Wed Aug 12 20:25:47 UTC 2015


Use register bit defines from addi_tcw.h to remove the "magic" numbers.

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>
---
 drivers/staging/comedi/drivers/addi_apci_3501.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/comedi/drivers/addi_apci_3501.c b/drivers/staging/comedi/drivers/addi_apci_3501.c
index 4faa23b..40ff914 100644
--- a/drivers/staging/comedi/drivers/addi_apci_3501.c
+++ b/drivers/staging/comedi/drivers/addi_apci_3501.c
@@ -262,11 +262,12 @@ static irqreturn_t apci3501_interrupt(int irq, void *d)
 
 	/*  Disable Interrupt */
 	ctrl = inl(devpriv->tcw + ADDI_TCW_CTRL_REG);
-	ctrl &= 0xfffff9fd;
+	ctrl &= ~(ADDI_TCW_CTRL_GATE | ADDI_TCW_CTRL_TRIG |
+		  ADDI_TCW_CTRL_IRQ_ENA);
 	outl(ctrl, devpriv->tcw + ADDI_TCW_CTRL_REG);
 
-	status = inl(devpriv->tcw + ADDI_TCW_IRQ_REG) & 0x1;
-	if (!status) {
+	status = inl(devpriv->tcw + ADDI_TCW_IRQ_REG);
+	if (!(status & ADDI_TCW_IRQ)) {
 		dev_err(dev->class_dev, "IRQ from unknown source\n");
 		return IRQ_NONE;
 	}
@@ -274,8 +275,9 @@ static irqreturn_t apci3501_interrupt(int irq, void *d)
 	/* Enable Interrupt Send a signal to from kernel to user space */
 	send_sig(SIGIO, devpriv->tsk_Current, 0);
 	ctrl = inl(devpriv->tcw + ADDI_TCW_CTRL_REG);
-	ctrl &= 0xfffff9fd;
-	ctrl |= 1 << 1;
+	ctrl &= ~(ADDI_TCW_CTRL_GATE | ADDI_TCW_CTRL_TRIG |
+		  ADDI_TCW_CTRL_IRQ_ENA);
+	ctrl |= ADDI_TCW_CTRL_IRQ_ENA;
 	outl(ctrl, devpriv->tcw + ADDI_TCW_CTRL_REG);
 	inl(devpriv->tcw + ADDI_TCW_STATUS_REG);
 
-- 
2.4.3



More information about the devel mailing list