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

staging: comedi: addi_apci_3120: tidy up timer subdevice init

It appears that this subdevice is actually broken. The subdevice functions
all violate the comedi API and, it they did work, it appears they would
break the analog input async commands.

For now just tidy up the subdevice init.

Add the SDF_READABLE subdev_flag, this subdevice provides an (*insn_read).

Fix the subdevice 'maxdata' initialization. The timer is 24-bits.

Remove the 'len_chanlist' initialization. This member is only used by
subdevices that support async commands.

Also remove the 'range_table' initialization. The core will set it to
range_unknown which is appropriate.
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 2a420f40
......@@ -222,18 +222,15 @@ static int apci3120_auto_attach(struct comedi_device *dev,
s->range_table = &range_digital;
s->insn_bits = apci3120_do_insn_bits;
/* Allocate and Initialise Timer Subdevice Structures */
/* Timer subdevice */
s = &dev->subdevices[4];
s->type = COMEDI_SUBD_TIMER;
s->subdev_flags = SDF_WRITEABLE | SDF_GROUND | SDF_COMMON;
s->n_chan = 1;
s->maxdata = 0;
s->len_chanlist = 1;
s->range_table = &range_digital;
s->insn_write = apci3120_write_insn_timer;
s->insn_read = apci3120_read_insn_timer;
s->insn_config = apci3120_config_insn_timer;
s->type = COMEDI_SUBD_TIMER;
s->subdev_flags = SDF_WRITEABLE | SDF_READABLE;
s->n_chan = 1;
s->maxdata = 0x00ffffff;
s->insn_write = apci3120_write_insn_timer;
s->insn_read = apci3120_read_insn_timer;
s->insn_config = apci3120_config_insn_timer;
apci3120_reset(dev);
return 0;
......
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