]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
staging: comedi: addi_apci_1564: board has 3 timers
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Fri, 24 Oct 2014 17:26:06 +0000 (10:26 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 29 Oct 2014 08:06:01 +0000 (16:06 +0800)
According to ADDI-DATA, the APCI-1564 only has 3 timers. There are some
customer specific boards with 4 timers but they use out of tree drivers.

Now that the timer 'channels' are handled correctly in the subdevice
functions, fix the number of timer channels for the subdevice and remove
the code that would access a 4th timer.

Also, remove the unnecessary initialzation of the subdevice 'len_chanlist'.
That member is only used by subdevices that support async commands.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/addi-data/hwdrv_apci1564.c
drivers/staging/comedi/drivers/addi_apci_1564.c

index 5282f468f36f81130f56e46ae004dcdbbf1c4412..45f9772361626317cba8eb1d93355990f7e66b77 100644 (file)
@@ -98,8 +98,6 @@ static int apci1564_timer_config(struct comedi_device *dev,
                            APCI1564_COUNTER_IRQ_REG(1));
                        outl(0x0, dev->iobase +
                            APCI1564_COUNTER_IRQ_REG(2));
-                       outl(0x0, dev->iobase +
-                           APCI1564_COUNTER_IRQ_REG(3));
                } else {
                        /* disable Timer interrupt */
                        outl(0x0, devpriv->amcc_iobase + APCI1564_TIMER_CTRL_REG);
index 61a7b27b37a151da4c7976bcf91076bfbbf0e8a5..b95da410a8e3d0436d23968157928aea085321ad 100644 (file)
@@ -68,7 +68,6 @@ static int apci1564_reset(struct comedi_device *dev)
        outl(0x0, dev->iobase + APCI1564_COUNTER_CTRL_REG(0));
        outl(0x0, dev->iobase + APCI1564_COUNTER_CTRL_REG(1));
        outl(0x0, dev->iobase + APCI1564_COUNTER_CTRL_REG(2));
-       outl(0x0, dev->iobase + APCI1564_COUNTER_CTRL_REG(3));
 
        return 0;
 }
@@ -434,9 +433,8 @@ static int apci1564_auto_attach(struct comedi_device *dev,
        s = &dev->subdevices[3];
        s->type         = COMEDI_SUBD_TIMER;
        s->subdev_flags = SDF_WRITEABLE;
-       s->n_chan       = 1;
+       s->n_chan       = 3;
        s->maxdata      = 0;
-       s->len_chanlist = 1;
        s->range_table  = &range_digital;
        s->insn_write   = apci1564_timer_write;
        s->insn_read    = apci1564_timer_read;