From d1eea3e7b96ee36dea4173ed1cc80399015f2884 Mon Sep 17 00:00:00 2001 From: H Hartley Sweeten Date: Tue, 10 Jul 2012 16:53:44 -0700 Subject: [PATCH] --- yaml --- r: 317909 b: refs/heads/master c: a2b520b7867c964bb629633c1f909f6ac901f91b h: refs/heads/master i: 317907: 061aa793ceaa1c7af3521ccf628bd85b78b51530 v: v3 --- [refs] | 2 +- trunk/drivers/staging/comedi/drivers/rtd520.c | 14 +++++--------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/[refs] b/[refs] index 31d9c3a409ed..9e3fcf04cda8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: acef7c0fc69cfa6ecea7624e36b2e9037cdd5866 +refs/heads/master: a2b520b7867c964bb629633c1f909f6ac901f91b diff --git a/trunk/drivers/staging/comedi/drivers/rtd520.c b/trunk/drivers/staging/comedi/drivers/rtd520.c index 74ababcd0f73..591091cae6a5 100644 --- a/trunk/drivers/staging/comedi/drivers/rtd520.c +++ b/trunk/drivers/staging/comedi/drivers/rtd520.c @@ -406,10 +406,6 @@ struct rtdPrivate { /* Macros to access registers */ -/* Interrupt status clear (only bits set in mask) */ -#define RtdInterruptClear(dev) \ - readw(devpriv->las0+LAS0_CLEAR) - /* Interrupt clear mask */ #define RtdInterruptClearMask(dev, v) \ writew((devpriv->intClearMask = (v)), devpriv->las0+LAS0_CLEAR) @@ -1129,7 +1125,7 @@ static irqreturn_t rtd_interrupt(int irq, /* interrupt number (ignored) */ /* clear the interrupt */ RtdInterruptClearMask(dev, status); - RtdInterruptClear(dev); + readw(devpriv->las0 + LAS0_CLEAR); return IRQ_HANDLED; abortTransfer: @@ -1170,7 +1166,7 @@ static irqreturn_t rtd_interrupt(int irq, /* interrupt number (ignored) */ /* clear the interrupt */ status = readw(devpriv->las0 + LAS0_IT); RtdInterruptClearMask(dev, status); - RtdInterruptClear(dev); + readw(devpriv->las0 + LAS0_CLEAR); fifoStatus = readl(devpriv->las0 + LAS0_ADC); DPRINTK @@ -1565,7 +1561,7 @@ static int rtd_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s) /* This doesn't seem to work. There is no way to clear an interrupt that the priority controller has queued! */ RtdInterruptClearMask(dev, ~0); /* clear any existing flags */ - RtdInterruptClear(dev); + readw(devpriv->las0 + LAS0_CLEAR); /* TODO: allow multiple interrupt sources */ if (devpriv->transCount > 0) { /* transfer every N samples */ @@ -1968,7 +1964,7 @@ static int rtd_attach(struct comedi_device *dev, struct comedi_devconfig *it) devpriv->intMask = 0; writew(devpriv->intMask, devpriv->las0 + LAS0_IT); RtdInterruptClearMask(dev, ~0); /* and sets shadow */ - RtdInterruptClear(dev); /* clears bits set by mask */ + readw(devpriv->las0 + LAS0_CLEAR); RtdInterruptOverrunClear(dev); writel(0, devpriv->las0 + LAS0_CGT_CLEAR); writel(0, devpriv->las0 + LAS0_ADC_FIFO_CLEAR); @@ -2148,7 +2144,7 @@ static void rtd_detach(struct comedi_device *dev) devpriv->intMask = 0; writew(devpriv->intMask, devpriv->las0 + LAS0_IT); RtdInterruptClearMask(dev, ~0); - RtdInterruptClear(dev); /* clears bits set by mask */ + readw(devpriv->las0 + LAS0_CLEAR); } #ifdef USE_DMA /* release DMA */