summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH Hartley Sweeten <hsweeten@visionengravers.com>2013-03-22 09:56:48 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-03-25 11:43:02 -0700
commit58cd9b91f809196adb39b52d1c18069ca73c8103 (patch)
treee49cd5787fd7941920411f013cd968cd4419cf7f
parent83d75effa74dc26f5c989f7a4385c345dff1e58f (diff)
staging: comedi: ni_labpc: cleanup trigger setting in labpc_ai_cmd()
The (*do_cmdtest) already validated the cmd sources so the default cases in the switch() statements can never happen. Preclear to trigger bits and change the switch() statements to simple if() tests to set the bits. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-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;