summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/staging/comedi/drivers/ni_labpc.c35
1 files changed, 9 insertions, 26 deletions
diff --git a/drivers/staging/comedi/drivers/ni_labpc.c b/drivers/staging/comedi/drivers/ni_labpc.c
index 244b3e51ee3b..f6128751a578 100644
--- a/drivers/staging/comedi/drivers/ni_labpc.c
+++ b/drivers/staging/comedi/drivers/ni_labpc.c
@@ -1054,38 +1054,21 @@ static int labpc_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
/* startup acquisition */
- /* cmd2 reg */
- /* use 2 cascaded counters for pacing */
spin_lock_irqsave(&dev->spinlock, flags);
+
+ /* use 2 cascaded counters for pacing */
devpriv->cmd2 |= CMD2_TBSEL;
- switch (cmd->start_src) {
- case TRIG_EXT:
+
+ devpriv->cmd2 &= ~(CMD2_SWTRIG | CMD2_HWTRIG | CMD2_PRETRIG);
+ if (cmd->start_src == TRIG_EXT)
devpriv->cmd2 |= CMD2_HWTRIG;
- devpriv->cmd2 &= ~(CMD2_PRETRIG | CMD2_SWTRIG);
- break;
- case TRIG_NOW:
+ else
devpriv->cmd2 |= CMD2_SWTRIG;
- devpriv->cmd2 &= ~(CMD2_PRETRIG | CMD2_HWTRIG);
- break;
- default:
- comedi_error(dev, "bug with start_src");
- spin_unlock_irqrestore(&dev->spinlock, flags);
- return -1;
- break;
- }
- switch (cmd->stop_src) {
- case TRIG_EXT:
+ if (cmd->stop_src == TRIG_EXT)
devpriv->cmd2 |= (CMD2_HWTRIG | CMD2_PRETRIG);
- break;
- case TRIG_COUNT:
- case TRIG_NONE:
- break;
- default:
- comedi_error(dev, "bug with stop_src");
- spin_unlock_irqrestore(&dev->spinlock, flags);
- return -1;
- }
+
devpriv->write_byte(devpriv->cmd2, dev->iobase + CMD2_REG);
+
spin_unlock_irqrestore(&dev->spinlock, flags);
return 0;