[PATCH] MEDIA: Fix non-ISA_DMA_API link failure of sound code

From: Ralf Baechle
Date: Fri Jun 24 2011 - 09:30:27 EST


A build with ISA && ISA_DMA && !ISA_DMA_API results in:

CC sound/isa/es18xx.o
sound/isa/es18xx.c: In function âsnd_es18xx_playback1_prepareâ:
sound/isa/es18xx.c:501:9: error: implicit declaration of function âsnd_dma_programâ [-Werror=implicit-function-declaration]
sound/isa/es18xx.c: In function âsnd_es18xx_playback_pointerâ:
sound/isa/es18xx.c:818:3: error: implicit declaration of function âsnd_dma_pointerâ [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors

make[2]: *** [sound/isa/es18xx.o] Error 1
CC sound/isa/sscape.o
sound/isa/sscape.c: In function âupload_dma_dataâ:
sound/isa/sscape.c:481:3: error: implicit declaration of function âsnd_dma_programâ [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors

make[2]: *** [sound/isa/sscape.o] Error 1
CC sound/isa/ad1816a/ad1816a_lib.o
sound/isa/ad1816a/ad1816a_lib.c: In function âsnd_ad1816a_playback_prepareâ:
sound/isa/ad1816a/ad1816a_lib.c:244:2: error: implicit declaration of function âsnd_dma_programâ [-Werror=implicit-function-declaration]
sound/isa/ad1816a/ad1816a_lib.c: In function âsnd_ad1816a_playback_pointerâ:
sound/isa/ad1816a/ad1816a_lib.c:302:2: error: implicit declaration of function âsnd_dma_pointerâ [-Werror=implicit-function-declaration]
sound/isa/ad1816a/ad1816a_lib.c: In function âsnd_ad1816a_freeâ:
sound/isa/ad1816a/ad1816a_lib.c:544:3: error: implicit declaration of function âsnd_dma_disableâ [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors

make[3]: *** [sound/isa/ad1816a/ad1816a_lib.o] Error 1
make[3]: Target `__build' not remade because of errors.
make[2]: *** [sound/isa/ad1816a] Error 2
CC sound/isa/es1688/es1688_lib.o
sound/isa/es1688/es1688_lib.c: In function âsnd_es1688_playback_prepareâ:
sound/isa/es1688/es1688_lib.c:417:2: error: implicit declaration of function âsnd_dma_programâ [-Werror=implicit-function-declaration]
sound/isa/es1688/es1688_lib.c: In function âsnd_es1688_playback_pointerâ:
sound/isa/es1688/es1688_lib.c:509:2: error: implicit declaration of function âsnd_dma_pointerâ [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors

make[3]: *** [sound/isa/es1688/es1688_lib.o] Error 1
make[3]: Target `__build' not remade because of errors.
make[2]: *** [sound/isa/es1688] Error 2
CC sound/isa/gus/gus_dma.o
sound/isa/gus/gus_dma.c: In function âsnd_gf1_dma_programâ:
sound/isa/gus/gus_dma.c:79:2: error: implicit declaration of function âsnd_dma_programâ [-Werror=implicit-function-declaration]
sound/isa/gus/gus_dma.c: In function âsnd_gf1_dma_doneâ:
sound/isa/gus/gus_dma.c:177:3: error: implicit declaration of function âsnd_dma_disableâ [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors

make[3]: *** [sound/isa/gus/gus_dma.o] Error 1
CC sound/isa/gus/gus_pcm.o
sound/isa/gus/gus_pcm.c: In function âsnd_gf1_pcm_capture_prepareâ:
sound/isa/gus/gus_pcm.c:591:2: error: implicit declaration of function âsnd_dma_programâ [-Werror=implicit-function-declaration]
sound/isa/gus/gus_pcm.c: In function âsnd_gf1_pcm_capture_pointerâ:
sound/isa/gus/gus_pcm.c:619:2: error: implicit declaration of function âsnd_dma_pointerâ [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors

make[3]: *** [sound/isa/gus/gus_pcm.o] Error 1
make[3]: Target `__build' not remade because of errors.
make[2]: *** [sound/isa/gus] Error 2
CC sound/isa/sb/sb16_csp.o
sound/isa/sb/sb16_csp.c: In function âsnd_sb_csp_ioctlâ:
sound/isa/sb/sb16_csp.c:228:227: error: case label does not reduce to an integer constant
make[3]: *** [sound/isa/sb/sb16_csp.o] Error 1
CC sound/isa/sb/sb16_main.o
sound/isa/sb/sb16_main.c: In function âsnd_sb16_playback_prepareâ:
sound/isa/sb/sb16_main.c:276:2: error: implicit declaration of function âsnd_dma_programâ [-Werror=implicit-function-declaration]
sound/isa/sb/sb16_main.c: In function âsnd_sb16_playback_pointerâ:
sound/isa/sb/sb16_main.c:456:2: error: implicit declaration of function âsnd_dma_pointerâ [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors

make[3]: *** [sound/isa/sb/sb16_main.o] Error 1
CC sound/isa/sb/sb8_main.o
sound/isa/sb/sb8_main.c: In function âsnd_sb8_playback_prepareâ:
sound/isa/sb/sb8_main.c:172:3: error: implicit declaration of function âsnd_dma_programâ [-Werror=implicit-function-declaration]
sound/isa/sb/sb8_main.c: In function âsnd_sb8_playback_pointerâ:
sound/isa/sb/sb8_main.c:425:2: error: implicit declaration of function âsnd_dma_pointerâ [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors

make[3]: *** [sound/isa/sb/sb8_main.o] Error 1
make[3]: Target `__build' not remade because of errors.
make[2]: *** [sound/isa/sb] Error 2
CC sound/isa/wss/wss_lib.o
sound/isa/wss/wss_lib.c: In function âsnd_wss_playback_prepareâ:
sound/isa/wss/wss_lib.c:1025:2: error: implicit declaration of function âsnd_dma_programâ [-Werror=implicit-function-declaration]
sound/isa/wss/wss_lib.c: In function âsnd_wss_playback_pointerâ:
sound/isa/wss/wss_lib.c:1160:2: error: implicit declaration of function âsnd_dma_pointerâ [-Werror=implicit-function-declaration]
sound/isa/wss/wss_lib.c: In function âsnd_wss_freeâ:
sound/isa/wss/wss_lib.c:1695:3: error: implicit declaration of function âsnd_dma_disableâ [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors

make[3]: *** [sound/isa/wss/wss_lib.o] Error 1

The root cause for this is hidden in this Kconfig warning:

warning: (RADIO_MIROPCM20) selects SND_ISA which has unmet direct dependencies (SOUND && !M68K && SND && ISA && ISA_DMA_API)

Adding a dependency on ISA_DMA_API to RADIO_MIROPCM20 fixes these issues.

Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>

drivers/media/radio/Kconfig | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/media/radio/Kconfig b/drivers/media/radio/Kconfig
index e4c97fd..0aeed28 100644
--- a/drivers/media/radio/Kconfig
+++ b/drivers/media/radio/Kconfig
@@ -168,7 +168,7 @@ config RADIO_MAXIRADIO

config RADIO_MIROPCM20
tristate "miroSOUND PCM20 radio"
- depends on ISA && VIDEO_V4L2 && SND
+ depends on ISA && ISA_DMA_API && VIDEO_V4L2 && SND
select SND_ISA
select SND_MIRO
---help---
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/