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

staging: comedi: adv_pci1710: absorb pci171x_ai_docmd_and_mode()

This helper function is called by the ai (*do_cmd) to setup and
start the async command based on the "mode" of operation. This
"mode" is determined by the cmd convert_src and start_src.

Move this "mode" determination and combine the functions.
Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: default avatarIan Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent c56cad00
...@@ -947,16 +947,22 @@ static irqreturn_t interrupt_service_pci1710(int irq, void *d) ...@@ -947,16 +947,22 @@ static irqreturn_t interrupt_service_pci1710(int irq, void *d)
return IRQ_HANDLED; return IRQ_HANDLED;
} }
/* static int pci171x_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
==============================================================================
*/
static int pci171x_ai_docmd_and_mode(int mode, struct comedi_device *dev,
struct comedi_subdevice *s)
{ {
struct pci1710_private *devpriv = dev->private; struct pci1710_private *devpriv = dev->private;
struct comedi_cmd *cmd = &s->async->cmd; struct comedi_cmd *cmd = &s->async->cmd;
unsigned int divisor1 = 0, divisor2 = 0; unsigned int divisor1 = 0, divisor2 = 0;
unsigned int seglen; unsigned int seglen;
int mode;
if (cmd->convert_src == TRIG_TIMER) {
if (cmd->start_src == TRIG_EXT)
mode = 2;
else
mode = 1;
} else { /* TRIG_EXT */
mode = 3;
}
start_pacer(dev, -1, 0, 0); /* stop pacer */ start_pacer(dev, -1, 0, 0); /* stop pacer */
...@@ -1108,25 +1114,6 @@ static int pci171x_ai_cmdtest(struct comedi_device *dev, ...@@ -1108,25 +1114,6 @@ static int pci171x_ai_cmdtest(struct comedi_device *dev,
return 0; return 0;
} }
/*
==============================================================================
*/
static int pci171x_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
{
struct comedi_cmd *cmd = &s->async->cmd;
if (cmd->convert_src == TRIG_TIMER) { /* mode 1 and 2 */
return pci171x_ai_docmd_and_mode(cmd->start_src ==
TRIG_EXT ? 2 : 1, dev,
s);
}
if (cmd->convert_src == TRIG_EXT) { /* mode 3 */
return pci171x_ai_docmd_and_mode(3, dev, s);
}
return -1;
}
/* /*
============================================================================== ==============================================================================
*/ */
......
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