Commit bb73fc99 authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman

staging: comedi: adl_pci9111: trigger sources are validated in (*do_cmdtest)

The trigger sources were already validataed in the (*do_cmdtest) before the
(*do_cmd) is called. Refactor the code in pci9111_ai_do_cmd() to use if/else
instead of the switch since the default cases can never be reached.
Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 9ebe26cf
...@@ -489,29 +489,18 @@ static int pci9111_ai_do_cmd(struct comedi_device *dev, ...@@ -489,29 +489,18 @@ static int pci9111_ai_do_cmd(struct comedi_device *dev,
dev->iobase + PCI9111_AI_RANGE_STAT_REG); dev->iobase + PCI9111_AI_RANGE_STAT_REG);
/* Set counter */ /* Set counter */
if (async_cmd->stop_src == TRIG_COUNT) {
switch (async_cmd->stop_src) {
case TRIG_COUNT:
dev_private->stop_counter = dev_private->stop_counter =
async_cmd->stop_arg * async_cmd->chanlist_len; async_cmd->stop_arg * async_cmd->chanlist_len;
dev_private->stop_is_none = 0; dev_private->stop_is_none = 0;
break; } else { /* TRIG_NONE */
case TRIG_NONE:
dev_private->stop_counter = 0; dev_private->stop_counter = 0;
dev_private->stop_is_none = 1; dev_private->stop_is_none = 1;
break;
default:
comedi_error(dev, "Invalid stop trigger");
return -1;
} }
/* Set timer pacer */ /* Set timer pacer */
dev_private->scan_delay = 0; dev_private->scan_delay = 0;
switch (async_cmd->convert_src) { if (async_cmd->convert_src == TRIG_TIMER) {
case TRIG_TIMER:
pci9111_trigger_source_set(dev, software); pci9111_trigger_source_set(dev, software);
pci9111_timer_set(dev); pci9111_timer_set(dev);
pci9111_fifo_reset(dev); pci9111_fifo_reset(dev);
...@@ -527,11 +516,7 @@ static int pci9111_ai_do_cmd(struct comedi_device *dev, ...@@ -527,11 +516,7 @@ static int pci9111_ai_do_cmd(struct comedi_device *dev,
(async_cmd->convert_arg * (async_cmd->convert_arg *
async_cmd->chanlist_len)) - 1; async_cmd->chanlist_len)) - 1;
} }
} else { /* TRIG_EXT */
break;
case TRIG_EXT:
pci9111_trigger_source_set(dev, external); pci9111_trigger_source_set(dev, external);
pci9111_fifo_reset(dev); pci9111_fifo_reset(dev);
pci9111_interrupt_source_set(dev, irq_on_fifo_half_full, pci9111_interrupt_source_set(dev, irq_on_fifo_half_full,
...@@ -539,11 +524,6 @@ static int pci9111_ai_do_cmd(struct comedi_device *dev, ...@@ -539,11 +524,6 @@ static int pci9111_ai_do_cmd(struct comedi_device *dev,
plx9050_interrupt_control(dev_private->lcr_io_base, true, true, plx9050_interrupt_control(dev_private->lcr_io_base, true, true,
false, true, true); false, true, true);
break;
default:
comedi_error(dev, "Invalid convert trigger");
return -1;
} }
dev_private->stop_counter *= (1 + dev_private->scan_delay); dev_private->stop_counter *= (1 + dev_private->scan_delay);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment