The only board served by this driver always has a timer, so we can init
the timer subdevice without checking first.

The boardinfo about the timer can also be removed and the data used
directly.

Signed-off-by: Chase Southwood <chase.southw...@gmail.com>
Cc: Ian Abbott <abbo...@mev.co.uk>
Cc: H Hartley Sweeten <hswee...@visionengravers.com>
---
 drivers/staging/comedi/drivers/addi_apci_1564.c | 27 +++++++++----------------
 1 file changed, 9 insertions(+), 18 deletions(-)

diff --git a/drivers/staging/comedi/drivers/addi_apci_1564.c 
b/drivers/staging/comedi/drivers/addi_apci_1564.c
index 86276cd..d7a5c2f 100644
--- a/drivers/staging/comedi/drivers/addi_apci_1564.c
+++ b/drivers/staging/comedi/drivers/addi_apci_1564.c
@@ -15,9 +15,6 @@ static const struct addi_board apci1564_boardtypes[] = {
                .i_NbrDoChannel         = 32,
                .i_DoMaxdata            = 0xffffffff,
                .i_Timer                = 1,
-               .timer_config           = apci1564_timer_config,
-               .timer_write            = apci1564_timer_write,
-               .timer_read             = apci1564_timer_read,
        },
 };
 
@@ -119,21 +116,15 @@ static int apci1564_auto_attach(struct comedi_device *dev,
 
        /*  Allocate and Initialise Timer Subdevice Structures */
        s = &dev->subdevices[2];
-       if (this_board->i_Timer) {
-               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 = this_board->timer_write;
-               s->insn_read = this_board->timer_read;
-               s->insn_config = this_board->timer_config;
-               s->insn_bits = this_board->timer_bits;
-       } else {
-               s->type = COMEDI_SUBD_UNUSED;
-       }
+       s->type = COMEDI_SUBD_TIMER;
+       s->subdev_flags = SDF_WRITEABLE;
+       s->n_chan = 1;
+       s->maxdata = 0;
+       s->len_chanlist = 1;
+       s->range_table = &range_digital;
+       s->insn_write = apci1564_timer_write;
+       s->insn_read = apci1564_timer_read;
+       s->insn_config = apci1564_timer_config;
 
        return 0;
 }
-- 
1.9.0

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to