Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1612359 > unrolled thread

[PATCH v2] staging: comedi: labpc: fix isadma dependency

Started byArnd Bergmann <arnd@arndb.de>
First post2017-03-29 23:20 +0200
Last post2017-03-30 11:10 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH v2] staging: comedi: labpc: fix isadma dependency Arnd Bergmann <arnd@arndb.de> - 2017-03-29 23:20 +0200
    Re: [PATCH v2] staging: comedi: labpc: fix isadma dependency Ian Abbott <abbotti@mev.co.uk> - 2017-03-30 11:10 +0200

#1612359 — [PATCH v2] staging: comedi: labpc: fix isadma dependency

FromArnd Bergmann <arnd@arndb.de>
Date2017-03-29 23:20 +0200
Subject[PATCH v2] staging: comedi: labpc: fix isadma dependency
Message-ID<tqtaz-4hp-35@gated-at.bofh.it>
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>
---
 drivers/staging/comedi/Kconfig | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

v2: fix typo from first version, forgot to amend the patch after successfully
    testing until I had sent it out.

diff --git a/drivers/staging/comedi/Kconfig b/drivers/staging/comedi/Kconfig
index 6079c23237d5..7a655ed071a3 100644
--- a/drivers/staging/comedi/Kconfig
+++ b/drivers/staging/comedi/Kconfig
@@ -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
-- 
2.9.0

[toc] | [next] | [standalone]


#1612759

FromIan Abbott <abbotti@mev.co.uk>
Date2017-03-30 11:10 +0200
Message-ID<tqEfE-451-15@gated-at.bofh.it>
In reply to#1612359
On 29/03/17 22:10, Arnd Bergmann wrote:
> 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.

That's because the comedi stuff has only recently been configurable as 
built-in.

>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  drivers/staging/comedi/Kconfig | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> v2: fix typo from first version, forgot to amend the patch after successfully
>     testing until I had sent it out.
>
> diff --git a/drivers/staging/comedi/Kconfig b/drivers/staging/comedi/Kconfig
> index 6079c23237d5..7a655ed071a3 100644
> --- a/drivers/staging/comedi/Kconfig
> +++ b/drivers/staging/comedi/Kconfig
> @@ -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
>

Thanks for the fix!

Reviewed-by: Ian Abbott <abbotti@mev.co.uk>

-- 
-=( Ian Abbott @ MEV Ltd.    E-mail: <abbotti@mev.co.uk> )=-
-=(                          Web: http://www.mev.co.uk/  )=-

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web