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

staging: comedi: addi_apci_1516: cleanup subdevice ops pointers

The same subdevice operations are used, as needed, for all the boards
supported by this driver. Remove the function pointers from the
boardinfo and set the subdevice operations directly in the attach.

Remove all the subdevice operations that would be set to NULL.
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 8451a632
...@@ -16,7 +16,6 @@ static const struct addi_board apci1516_boardtypes[] = { ...@@ -16,7 +16,6 @@ static const struct addi_board apci1516_boardtypes[] = {
.i_PCIEeprom = ADDIDATA_EEPROM, .i_PCIEeprom = ADDIDATA_EEPROM,
.pc_EepromChip = ADDIDATA_S5920, .pc_EepromChip = ADDIDATA_S5920,
.i_NbrDiChannel = 16, .i_NbrDiChannel = 16,
.di_bits = apci1516_di_insn_bits,
}, { }, {
.pc_DriverName = "apci1516", .pc_DriverName = "apci1516",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA, .i_VendorId = PCI_VENDOR_ID_ADDIDATA,
...@@ -29,11 +28,6 @@ static const struct addi_board apci1516_boardtypes[] = { ...@@ -29,11 +28,6 @@ static const struct addi_board apci1516_boardtypes[] = {
.i_NbrDiChannel = 8, .i_NbrDiChannel = 8,
.i_NbrDoChannel = 8, .i_NbrDoChannel = 8,
.i_Timer = 1, .i_Timer = 1,
.di_bits = apci1516_di_insn_bits,
.do_bits = apci1516_do_insn_bits,
.timer_config = i_APCI1516_ConfigWatchdog,
.timer_write = i_APCI1516_StartStopWriteWatchdog,
.timer_read = i_APCI1516_ReadWatchdog,
}, { }, {
.pc_DriverName = "apci2016", .pc_DriverName = "apci2016",
.i_VendorId = PCI_VENDOR_ID_ADDIDATA, .i_VendorId = PCI_VENDOR_ID_ADDIDATA,
...@@ -45,10 +39,6 @@ static const struct addi_board apci1516_boardtypes[] = { ...@@ -45,10 +39,6 @@ static const struct addi_board apci1516_boardtypes[] = {
.pc_EepromChip = ADDIDATA_S5920, .pc_EepromChip = ADDIDATA_S5920,
.i_NbrDoChannel = 16, .i_NbrDoChannel = 16,
.i_Timer = 1, .i_Timer = 1,
.do_bits = apci1516_do_insn_bits,
.timer_config = i_APCI1516_ConfigWatchdog,
.timer_write = i_APCI1516_StartStopWriteWatchdog,
.timer_read = i_APCI1516_ReadWatchdog,
}, },
}; };
...@@ -168,10 +158,7 @@ static int __devinit apci1516_auto_attach(struct comedi_device *dev, ...@@ -168,10 +158,7 @@ static int __devinit apci1516_auto_attach(struct comedi_device *dev,
devpriv->s_EeParameters.i_NbrDiChannel; devpriv->s_EeParameters.i_NbrDiChannel;
s->range_table = &range_digital; s->range_table = &range_digital;
s->io_bits = 0; /* all bits input */ s->io_bits = 0; /* all bits input */
s->insn_config = this_board->di_config; s->insn_bits = apci1516_di_insn_bits;
s->insn_read = this_board->di_read;
s->insn_write = this_board->di_write;
s->insn_bits = this_board->di_bits;
} else { } else {
s->type = COMEDI_SUBD_UNUSED; s->type = COMEDI_SUBD_UNUSED;
} }
...@@ -187,12 +174,7 @@ static int __devinit apci1516_auto_attach(struct comedi_device *dev, ...@@ -187,12 +174,7 @@ static int __devinit apci1516_auto_attach(struct comedi_device *dev,
devpriv->s_EeParameters.i_NbrDoChannel; devpriv->s_EeParameters.i_NbrDoChannel;
s->range_table = &range_digital; s->range_table = &range_digital;
s->io_bits = 0xf; /* all bits output */ s->io_bits = 0xf; /* all bits output */
s->insn_bits = apci1516_do_insn_bits;
/* insn_config - for digital output memory */
s->insn_config = this_board->do_config;
s->insn_write = this_board->do_write;
s->insn_bits = this_board->do_bits;
s->insn_read = this_board->do_read;
} else { } else {
s->type = COMEDI_SUBD_UNUSED; s->type = COMEDI_SUBD_UNUSED;
} }
...@@ -206,11 +188,9 @@ static int __devinit apci1516_auto_attach(struct comedi_device *dev, ...@@ -206,11 +188,9 @@ static int __devinit apci1516_auto_attach(struct comedi_device *dev,
s->maxdata = 0; s->maxdata = 0;
s->len_chanlist = 1; s->len_chanlist = 1;
s->range_table = &range_digital; s->range_table = &range_digital;
s->insn_write = i_APCI1516_StartStopWriteWatchdog;
s->insn_write = this_board->timer_write; s->insn_read = i_APCI1516_ReadWatchdog;
s->insn_read = this_board->timer_read; s->insn_config = i_APCI1516_ConfigWatchdog;
s->insn_config = this_board->timer_config;
s->insn_bits = this_board->timer_bits;
} else { } else {
s->type = COMEDI_SUBD_UNUSED; s->type = COMEDI_SUBD_UNUSED;
} }
......
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