Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b3b7dab7 authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman
Browse files

staging: comedi: addi_apci_2032: move i_APCI2032_ConfigDigitalOutput()



For aesthetic reasons, move this function.

This function has nothing to do with the digital outputs. It's used
to enable the interrupt sources that the board can generate.

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 7c7c42cd
Loading
Loading
Loading
Loading
+29 −29
Original line number Diff line number Diff line
@@ -60,35 +60,6 @@ struct apci2032_private {
	unsigned int wdog_ctrl;
};

static int i_APCI2032_ConfigDigitalOutput(struct comedi_device *dev,
					  struct comedi_subdevice *s,
					  struct comedi_insn *insn,
					  unsigned int *data)
{
	unsigned int ul_Command = 0;

	if ((data[0] != 0) && (data[0] != 1)) {
		comedi_error(dev,
			"Not a valid Data !!! ,Data should be 1 or 0\n");
		return -EINVAL;
	}

	if (data[1] == 1)
		ul_Command |= APCI2032_INT_CTRL_VCC_ENA;
	else
		ul_Command &= ~APCI2032_INT_CTRL_VCC_ENA;

	if (data[2] == 1)
		ul_Command |= APCI2032_INT_CTRL_CC_ENA;
	else
		ul_Command &= ~APCI2032_INT_CTRL_CC_ENA;

	outl(ul_Command, dev->iobase + APCI2032_INT_CTRL_REG);
	ui_InterruptData = inl(dev->iobase + APCI2032_INT_CTRL_REG);

	return insn->n;
}

static int apci2032_do_insn_bits(struct comedi_device *dev,
				 struct comedi_subdevice *s,
				 struct comedi_insn *insn,
@@ -185,6 +156,35 @@ static int apci2032_wdog_insn_read(struct comedi_device *dev,
	return insn->n;
}

static int i_APCI2032_ConfigDigitalOutput(struct comedi_device *dev,
					  struct comedi_subdevice *s,
					  struct comedi_insn *insn,
					  unsigned int *data)
{
	unsigned int ul_Command = 0;

	if ((data[0] != 0) && (data[0] != 1)) {
		comedi_error(dev,
			"Not a valid Data !!! ,Data should be 1 or 0\n");
		return -EINVAL;
	}

	if (data[1] == 1)
		ul_Command |= APCI2032_INT_CTRL_VCC_ENA;
	else
		ul_Command &= ~APCI2032_INT_CTRL_VCC_ENA;

	if (data[2] == 1)
		ul_Command |= APCI2032_INT_CTRL_CC_ENA;
	else
		ul_Command &= ~APCI2032_INT_CTRL_CC_ENA;

	outl(ul_Command, dev->iobase + APCI2032_INT_CTRL_REG);
	ui_InterruptData = inl(dev->iobase + APCI2032_INT_CTRL_REG);

	return insn->n;
}

static int i_APCI2032_ReadInterruptStatus(struct comedi_device *dev,
					  struct comedi_subdevice *s,
					  struct comedi_insn *insn,