The "ni_labpc" module is a common module for the "ni_labpc_cs" and "ni_labpc_pci" modules. It is also a comedi driver for National Instruments Lab-PC ISA boards if the `COMEDI_NI_LABPC_ISA` option is enabled. In that case, the module may include code to handle ISA DMA transfers if the `ISA_DMA_API` and `VIRT_TO_BUS` options are also enabled. Move the ISA DMA handling code into a new module "ni_labpc_isadma" which is only built if the `COMEDI_NI_LABPC_ISA`, `ISA_DMA_API` and `VIRT_TO_BUS` options are enabled. This allows a bunch of `#ifdef`s to be removed. 01) staging: comedi: ni_labpc: fix possible double-free of dma_buffer 02) staging: comedi: ni_labpc: don't clear cmd3 bits explicitly in labpc_ai_cmd() 03) staging: comedi: ni_labpc_isadma: new module for ISA DMA support 04) staging: comedi: ni_labpc: migrate DMA channel init & free 05) staging: comedi: ni_labpc_isadma: add labpc_have_dma_chan() 06) staging: comedi: ni_labpc: use labpc_have_dma_chan() 07) staging: comedi: ni_labpc: move register defs to new file 08) staging: comedi: ni_labpc: migrate DMA transfer set-up 09) staging: comedi: ni_labpc: migrate labpc_drain_dma() 10) staging: comedi: ni_labpc: migrate DMA status handling 11) staging: comedi: ni_labpc: tidy up after DMA code migration 12) staging: comedi: COMEDI_NI_LABPC_ISA no longer depends on VIRT_TO_BUS drivers/staging/comedi/Kconfig | 5 +- drivers/staging/comedi/drivers/Makefile | 1 + drivers/staging/comedi/drivers/ni_labpc.c | 279 ++--------------------- drivers/staging/comedi/drivers/ni_labpc_isadma.c | 226 ++++++++++++++++++ drivers/staging/comedi/drivers/ni_labpc_isadma.h | 57 +++++ drivers/staging/comedi/drivers/ni_labpc_regs.h | 75 ++++++ 6 files changed, 387 insertions(+), 256 deletions(-) _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel