From eec2f4efb1d8bbe072b6918da3afdcfdf8259492 Mon Sep 17 00:00:00 2001 From: H Hartley Sweeten Date: Wed, 23 Apr 2014 16:06:59 -0700 Subject: [PATCH] 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: H Hartley Sweeten Reviewed-by: Ian Abbott Signed-off-by: Greg Kroah-Hartman --- drivers/staging/comedi/drivers/adv_pci1710.c | 35 ++++++-------------- 1 file changed, 11 insertions(+), 24 deletions(-) diff --git a/drivers/staging/comedi/drivers/adv_pci1710.c b/drivers/staging/comedi/drivers/adv_pci1710.c index 60b926e5062a..6ab78bb629be 100644 --- a/drivers/staging/comedi/drivers/adv_pci1710.c +++ b/drivers/staging/comedi/drivers/adv_pci1710.c @@ -947,16 +947,22 @@ static irqreturn_t interrupt_service_pci1710(int irq, void *d) return IRQ_HANDLED; } -/* -============================================================================== -*/ -static int pci171x_ai_docmd_and_mode(int mode, struct comedi_device *dev, - struct comedi_subdevice *s) +static int pci171x_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s) { struct pci1710_private *devpriv = dev->private; struct comedi_cmd *cmd = &s->async->cmd; unsigned int divisor1 = 0, divisor2 = 0; 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 */ @@ -1108,25 +1114,6 @@ static int pci171x_ai_cmdtest(struct comedi_device *dev, 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; -} - /* ============================================================================== */ -- 2.30.2