From b9b2fbcda8511f86e64fa7f997b67e1b68dce448 Mon Sep 17 00:00:00 2001 From: H Hartley Sweeten Date: Tue, 26 Jun 2012 17:49:22 -0700 Subject: [PATCH] --- yaml --- r: 317621 b: refs/heads/master c: 0aa2030467e4dfad59aef42211728221a973c329 h: refs/heads/master i: 317619: f9b21406a9cce4a4c27cfa1b2b9dbebec7c70195 v: v3 --- [refs] | 2 +- .../staging/comedi/drivers/cb_pcidas.c | 40 +++++++++---------- 2 files changed, 20 insertions(+), 22 deletions(-) diff --git a/[refs] b/[refs] index 751447ee5474..1db0ca177e76 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9a0f7631f26cd9d9fc9f8fd1513427e13912a63c +refs/heads/master: 0aa2030467e4dfad59aef42211728221a973c329 diff --git a/trunk/drivers/staging/comedi/drivers/cb_pcidas.c b/trunk/drivers/staging/comedi/drivers/cb_pcidas.c index fa3ed0e01b33..24574082691e 100644 --- a/trunk/drivers/staging/comedi/drivers/cb_pcidas.c +++ b/trunk/drivers/staging/comedi/drivers/cb_pcidas.c @@ -447,8 +447,6 @@ struct cb_pcidas_private { */ #define devpriv ((struct cb_pcidas_private *)dev->private) -static int cb_pcidas_ao_cancel(struct comedi_device *dev, - struct comedi_subdevice *s); static void cb_pcidas_load_counters(struct comedi_device *dev, unsigned int *ns, int round_flags); static int caldac_8800_write(struct comedi_device *dev, unsigned int address, @@ -1262,6 +1260,25 @@ static int cb_pcidas_ao_cmd(struct comedi_device *dev, return 0; } +/* cancel analog output command */ +static int cb_pcidas_ao_cancel(struct comedi_device *dev, + struct comedi_subdevice *s) +{ + unsigned long flags; + + spin_lock_irqsave(&dev->spinlock, flags); + /* disable interrupts */ + devpriv->adc_fifo_bits &= ~DAHFIE & ~DAEMIE; + outw(devpriv->adc_fifo_bits, devpriv->control_status + INT_ADCFIFO); + + /* disable output */ + devpriv->ao_control_bits &= ~DACEN & ~DAC_PACER_MASK; + outw(devpriv->ao_control_bits, devpriv->control_status + DAC_CSR); + spin_unlock_irqrestore(&dev->spinlock, flags); + + return 0; +} + static void handle_ao_interrupt(struct comedi_device *dev, unsigned int status) { struct comedi_subdevice *s = dev->write_subdev; @@ -1427,25 +1444,6 @@ static irqreturn_t cb_pcidas_interrupt(int irq, void *d) return IRQ_HANDLED; } -/* cancel analog output command */ -static int cb_pcidas_ao_cancel(struct comedi_device *dev, - struct comedi_subdevice *s) -{ - unsigned long flags; - - spin_lock_irqsave(&dev->spinlock, flags); - /* disable interrupts */ - devpriv->adc_fifo_bits &= ~DAHFIE & ~DAEMIE; - outw(devpriv->adc_fifo_bits, devpriv->control_status + INT_ADCFIFO); - - /* disable output */ - devpriv->ao_control_bits &= ~DACEN & ~DAC_PACER_MASK; - outw(devpriv->ao_control_bits, devpriv->control_status + DAC_CSR); - spin_unlock_irqrestore(&dev->spinlock, flags); - - return 0; -} - static void cb_pcidas_load_counters(struct comedi_device *dev, unsigned int *ns, int rounding_flags) {