staging: comedi: ni_labpc: cleanup trigger setting in labpc_ai_cmd()
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Fri, 22 Mar 2013 16:56:48 +0000 (09:56 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 25 Mar 2013 18:43:02 +0000 (11:43 -0700)
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>
drivers/staging/comedi/drivers/ni_labpc.c

index 244b3e51ee3ba28a542b351ead6905cc72a1b9b5..f6128751a57855382f649fd9d5c076a6947644b9 100644 (file)
@@ -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;