staging: comedi: labpc: fix isadma dependency
authorArnd Bergmann <arnd@arndb.de>
Wed, 29 Mar 2017 21:10:09 +0000 (23:10 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 8 Apr 2017 10:54:09 +0000 (12:54 +0200)
When COMEDI_NI_LABPC is built-in and COMEDI_NI_LABPC_ISA is a loadable
module, thhe ISA DMA code is not reachable by the common module, causing
a link error:

drivers/staging/built-in.o: In function `labpc_interrupt':
ni_labpc_common.c:(.text+0x1d178): undefined reference to `labpc_handle_dma_status'
ni_labpc_common.c:(.text+0x1d1cb): undefined reference to `labpc_drain_dma'
drivers/staging/built-in.o: In function `labpc_ai_cmd':
ni_labpc_common.c:(.text+0x1d8ad): undefined reference to `labpc_setup_dma'

This changes the definition of COMEDI_NI_LABPC_ISADMA so that it will
also be builtin for that case. This looks like a rather old bug, but
I have never seen this in randconfig testing until today.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/Kconfig

index 6079c23237d5e27f5fd696c4a3305e44c8563011..7a655ed071a3a3f2f0583b67724a6723c322875d 100644 (file)
@@ -505,7 +505,6 @@ config COMEDI_NI_ATMIO16D
 config COMEDI_NI_LABPC_ISA
        tristate "NI Lab-PC and compatibles ISA support"
        select COMEDI_NI_LABPC
-       select COMEDI_NI_LABPC_ISADMA if ISA_DMA_API
        ---help---
          Enable support for National Instruments Lab-PC and compatibles
          Lab-PC-1200, Lab-PC-1200AI, Lab-PC+.
@@ -1315,6 +1314,9 @@ config COMEDI_NI_LABPC
 
 config COMEDI_NI_LABPC_ISADMA
        tristate
+       default COMEDI_NI_LABPC
+       depends on COMEDI_NI_LABPC_ISA != n
+       depends on ISA_DMA_API
        select COMEDI_ISADMA
 
 config COMEDI_NI_TIO