提交 03754bdb 编写于 作者: H H Hartley Sweeten 提交者: Greg Kroah-Hartman

staging: comedi: vmk80xx: remove digital output (*insn_read)

The comedi core can use the (*insn_bits) function to emulate the
(*insn_read) function.

The digital output (*insn_bits) function properly handles the
VMK8061_MODEL to read the digital output states before returning.

Remove the unnecessary (*insn_read) function. It's also not
necessary to set the SDF_READABLE flag so remove the entire
conditional in the attach.
Signed-off-by: NH Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 9a23a748
......@@ -799,39 +799,6 @@ static int vmk80xx_do_insn_write(struct comedi_device *dev,
return n;
}
static int vmk80xx_do_insn_read(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
unsigned int *data)
{
struct vmk80xx_private *devpriv = dev->private;
int chan;
int reg;
int n;
n = rudimentary_check(devpriv, DIR_IN);
if (n)
return n;
down(&devpriv->limit_sem);
chan = CR_CHAN(insn->chanspec);
reg = VMK8061_DO_REG;
devpriv->usb_tx_buf[0] = VMK8061_CMD_RD_DO;
for (n = 0; n < insn->n; n++) {
if (vmk80xx_read_packet(devpriv))
break;
data[n] = (devpriv->usb_rx_buf[reg] >> chan) & 1;
}
up(&devpriv->limit_sem);
return n;
}
static int vmk80xx_do_insn_bits(struct comedi_device *dev,
struct comedi_subdevice *s,
struct comedi_insn *insn,
......@@ -1244,10 +1211,6 @@ static int vmk80xx_attach_common(struct comedi_device *dev)
s->range_table = &range_digital;
s->insn_write = vmk80xx_do_insn_write;
s->insn_bits = vmk80xx_do_insn_bits;
if (devpriv->model == VMK8061_MODEL) {
s->subdev_flags |= SDF_READABLE;
s->insn_read = vmk80xx_do_insn_read;
}
/* Counter subdevice */
s = &dev->subdevices[4];
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册