This driver currently passes the timer "channel" in a manner that violates the comedi API. Fix the timer subdevice so that the timers "channels" are correctly used from the insn->chanspec. Fix the I/O access for the boards registers. Currently the iobase used to access the counters and the main board registers are incorrect. According to the ADDI-DATA datasheet the PCI BARs are: PCI BAR0 - amcc chip registers PCI BAR1 - main board registers PCI BAR2 - counter registers Move the register map defines from the included hwdrv_apci1564.c file to the main driver source file. H Hartley Sweeten (9): staging: comedi: addi_apci_1564: remove APCI1564_COUNTER[1234] defines staging: comedi: addi_apci_1564: remove private data 'mode_select_register' staging: comedi: addi_apci_1564: fix counter register access staging: comedi: addi_apci_1564: board has 4 timers staging: comedi: addi_apci_1564: fix board register access staging: comedi: addi_apci_1564: tidy up private data 'amcc_iobase' staging: comedi: addi_apci_1564: move register map defines to driver staging: comedi: addi_apci_1564: move APCI1564_DI_IRQ_REG bit defines staging: comedi: addi_apci_1564: move APCI1564_DO_INT_CTRL/STATUS_REG bit defines .../comedi/drivers/addi-data/hwdrv_apci1564.c | 155 ++++++------------ drivers/staging/comedi/drivers/addi_apci_1564.c | 179 +++++++++++++-------- 2 files changed, 159 insertions(+), 175 deletions(-) -- 2.0.3 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel