The addi-data apci-1516 and apci-2016 boards share common low-level hardware functionality. Merge the support for these boards into a common driver. The apci-1016 board, not currently supported, also shares the same low-level functionality. Add support for that board to the driver. The current code has a lot of bloat in it due to the use of the addi-data "common" code. Separate the driver from the "common" code and remove all the unnecessary code. The code to support the watchdog device on the apci-1516 and apci-2016 boards does not follow the comedi API very well. Fix it so that the current functionality is kept but it follows the API. H Hartley Sweeten (41): staging: comedi: addi_apci_1516: merge in addi_apci_2016 driver staging: comedi: addi_apci_1516: add support for apci1016 board staging: comedi: addi_apci_1516: cleanup the register map defines staging: comedi: addi_apci_1516: define the watchdog control register staging: comedi: addi_apci_1516: separate from addi_common.c staging: comedi: addi_apci_1516: board does not have ttl i/o staging: comedi: addi_apci_1516: board does not have analog inputs staging: comedi: addi_apci_1516: board does not have analog outputs staging: comedi: addi_apci_1516: remove eeprom support code staging: comedi: addi_apci_1516: remove unused define staging: comedi: addi_apci_1516: remove unnecessary include staging: comedi: addi_apci_1516: absorb i_APCI1516_Reset() staging: comedi: addi_apci_1516: don't reset the apci1016 board staging: comedi: addi_apci_1516: boards do not have interrupts staging: comedi: addi_apci_1516: cleanup subdevice ops pointers staging: comedi: addi_apci_1516: simplify the PCI bar reading staging: comedi: addi_apci_1516: remove unnecessary info from boardinfo staging: comedi: addi_apci_1516: remove devpriv->iobase usage staging: comedi: addi_apci_1516: remove devpriv->dw_AiBase staging: comedi: addi_apci_1516: don't read the unused PCI bars staging: comedi: addi_apci_1516: remove use of devpriv->s_EeParameters staging: comedi: addi_apci_1516: only allocate needed subdevices staging: comedi: addi_apci_1516: remove use of struct addi_private staging: comedi: addi_apci_1516: remove use of struct addi_board staging: comedi: addi_apci_1516: remove unnecessary include staging: comedi: addi_apci_1516: cleanup addi_find_boardinfo() staging: comedi: addi_apci_1516: merge in hwdrv_apci1516.c staging: comedi: addi_apci_1516: remove setting of s->len_chanlist staging: comedi: addi_apci_1516: remove setting of s->io_bits staging: comedi: addi_apci_1516: cleanup the s->subdev_flags staging: comedi: addi_apci_1516: add defines for the PCI device ids staging: comedi: addi_apci_1516: cleanup apci1516_detach() staging: comedi: addi_apci_1516: cleanup the subdevice init staging: comedi: addi_apci_1516: fix i_APCI1516_ReadWatchdog() staging: comedi: addi_apci_1516: fix i_APCI1516_ConfigWatchdog() staging: comedi: addi_apci_1516: fix i_APCI1516_StartStopWriteWatchdog() staging: comedi: addi_apci_1516: final cleanup of the register map defines staging: comedi: addi_apci_1516: rename has_timer staging: comedi: addi_apci_1516: reword the initialization comments staging: comedi: addi_apci_1516: update the Kconfig staging: comedi: addi_apci_1516: update the MODULE_DESCRIPTION drivers/staging/comedi/Kconfig | 16 +- drivers/staging/comedi/drivers/Makefile | 1 - .../comedi/drivers/addi-data/hwdrv_apci1516.c | 258 ---------------- .../comedi/drivers/addi-data/hwdrv_apci2016.c | 240 --------------- drivers/staging/comedi/drivers/addi_apci_1516.c | 339 +++++++++++++++++++-- drivers/staging/comedi/drivers/addi_apci_2016.c | 68 ----- 6 files changed, 313 insertions(+), 609 deletions(-) delete mode 100644 drivers/staging/comedi/drivers/addi-data/hwdrv_apci1516.c delete mode 100644 drivers/staging/comedi/drivers/addi-data/hwdrv_apci2016.c delete mode 100644 drivers/staging/comedi/drivers/addi_apci_2016.c -- 1.7.11 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel