staging: comedi: adv_pci1723: fix initial dio subdevice state and io_bits
The initial state and io_bits for the dio subdevice is determined in the pci1723_attach() but it's being saved in the wrong subdevice. Move the code so it gets saved correctly. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
25e443373c
commit
11d853f955
1 changed files with 15 additions and 14 deletions
|
@ -350,6 +350,21 @@ static int pci1723_attach(struct comedi_device *dev,
|
|||
s->insn_write = pci1723_ao_write_winsn;
|
||||
s->insn_read = pci1723_insn_read_ao;
|
||||
|
||||
subdev++;
|
||||
}
|
||||
|
||||
if (this_board->n_diochan) {
|
||||
s = dev->subdevices + subdev;
|
||||
s->type = COMEDI_SUBD_DIO;
|
||||
s->subdev_flags =
|
||||
SDF_READABLE | SDF_WRITABLE | SDF_GROUND | SDF_COMMON;
|
||||
s->n_chan = this_board->n_diochan;
|
||||
s->maxdata = 1;
|
||||
s->len_chanlist = this_board->n_diochan;
|
||||
s->range_table = &range_digital;
|
||||
s->insn_config = pci1723_dio_insn_config;
|
||||
s->insn_bits = pci1723_dio_insn_bits;
|
||||
|
||||
/* read DIO config */
|
||||
switch (inw(dev->iobase + PCI1723_DIGITAL_IO_PORT_MODE)
|
||||
& 0x03) {
|
||||
|
@ -372,20 +387,6 @@ static int pci1723_attach(struct comedi_device *dev,
|
|||
subdev++;
|
||||
}
|
||||
|
||||
if (this_board->n_diochan) {
|
||||
s = dev->subdevices + subdev;
|
||||
s->type = COMEDI_SUBD_DIO;
|
||||
s->subdev_flags =
|
||||
SDF_READABLE | SDF_WRITABLE | SDF_GROUND | SDF_COMMON;
|
||||
s->n_chan = this_board->n_diochan;
|
||||
s->maxdata = 1;
|
||||
s->len_chanlist = this_board->n_diochan;
|
||||
s->range_table = &range_digital;
|
||||
s->insn_config = pci1723_dio_insn_config;
|
||||
s->insn_bits = pci1723_dio_insn_bits;
|
||||
subdev++;
|
||||
}
|
||||
|
||||
devpriv->valid = 1;
|
||||
|
||||
pci1723_reset(dev);
|
||||
|
|
Loading…
Add table
Reference in a new issue