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

staging: comedi: ni_mio_common: remove forward declaration 11

Move ni_cdio_cmd() to remove the need for the forward declaration
of ni_cdo_inttrig().
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 9a0c81a2
...@@ -197,8 +197,6 @@ static const struct comedi_lrange *const ni_range_lkup[] = { ...@@ -197,8 +197,6 @@ static const struct comedi_lrange *const ni_range_lkup[] = {
static int ni_cdio_cancel(struct comedi_device *dev, static int ni_cdio_cancel(struct comedi_device *dev,
struct comedi_subdevice *s); struct comedi_subdevice *s);
static void handle_cdio_interrupt(struct comedi_device *dev); static void handle_cdio_interrupt(struct comedi_device *dev);
static int ni_cdo_inttrig(struct comedi_device *dev, struct comedi_subdevice *s,
unsigned int trignum);
static int ni_serial_hw_readwrite8(struct comedi_device *dev, static int ni_serial_hw_readwrite8(struct comedi_device *dev,
struct comedi_subdevice *s, struct comedi_subdevice *s,
...@@ -3441,45 +3439,6 @@ static int ni_cdio_cmdtest(struct comedi_device *dev, ...@@ -3441,45 +3439,6 @@ static int ni_cdio_cmdtest(struct comedi_device *dev,
return 0; return 0;
} }
static int ni_cdio_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
{
struct ni_private *devpriv __maybe_unused = dev->private;
const struct comedi_cmd *cmd = &s->async->cmd;
unsigned cdo_mode_bits = CDO_FIFO_Mode_Bit | CDO_Halt_On_Error_Bit;
int retval;
ni_writel(CDO_Reset_Bit, M_Offset_CDIO_Command);
switch (cmd->scan_begin_src) {
case TRIG_EXT:
cdo_mode_bits |=
CR_CHAN(cmd->scan_begin_arg) &
CDO_Sample_Source_Select_Mask;
break;
default:
BUG();
break;
}
if (cmd->scan_begin_arg & CR_INVERT)
cdo_mode_bits |= CDO_Polarity_Bit;
ni_writel(cdo_mode_bits, M_Offset_CDO_Mode);
if (s->io_bits) {
ni_writel(s->state, M_Offset_CDO_FIFO_Data);
ni_writel(CDO_SW_Update_Bit, M_Offset_CDIO_Command);
ni_writel(s->io_bits, M_Offset_CDO_Mask_Enable);
} else {
comedi_error(dev,
"attempted to run digital output command with no lines configured as outputs");
return -EIO;
}
retval = ni_request_cdo_mite_channel(dev);
if (retval < 0)
return retval;
s->async->inttrig = ni_cdo_inttrig;
return 0;
}
static int ni_cdo_inttrig(struct comedi_device *dev, static int ni_cdo_inttrig(struct comedi_device *dev,
struct comedi_subdevice *s, struct comedi_subdevice *s,
unsigned int trig_num) unsigned int trig_num)
...@@ -3535,6 +3494,45 @@ static int ni_cdo_inttrig(struct comedi_device *dev, ...@@ -3535,6 +3494,45 @@ static int ni_cdo_inttrig(struct comedi_device *dev,
return retval; return retval;
} }
static int ni_cdio_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
{
struct ni_private *devpriv __maybe_unused = dev->private;
const struct comedi_cmd *cmd = &s->async->cmd;
unsigned cdo_mode_bits = CDO_FIFO_Mode_Bit | CDO_Halt_On_Error_Bit;
int retval;
ni_writel(CDO_Reset_Bit, M_Offset_CDIO_Command);
switch (cmd->scan_begin_src) {
case TRIG_EXT:
cdo_mode_bits |=
CR_CHAN(cmd->scan_begin_arg) &
CDO_Sample_Source_Select_Mask;
break;
default:
BUG();
break;
}
if (cmd->scan_begin_arg & CR_INVERT)
cdo_mode_bits |= CDO_Polarity_Bit;
ni_writel(cdo_mode_bits, M_Offset_CDO_Mode);
if (s->io_bits) {
ni_writel(s->state, M_Offset_CDO_FIFO_Data);
ni_writel(CDO_SW_Update_Bit, M_Offset_CDIO_Command);
ni_writel(s->io_bits, M_Offset_CDO_Mask_Enable);
} else {
comedi_error(dev,
"attempted to run digital output command with no lines configured as outputs");
return -EIO;
}
retval = ni_request_cdo_mite_channel(dev);
if (retval < 0)
return retval;
s->async->inttrig = ni_cdo_inttrig;
return 0;
}
static int ni_cdio_cancel(struct comedi_device *dev, struct comedi_subdevice *s) static int ni_cdio_cancel(struct comedi_device *dev, struct comedi_subdevice *s)
{ {
struct ni_private *devpriv __maybe_unused = dev->private; struct ni_private *devpriv __maybe_unused = dev->private;
......
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