Problems with alsa mixer code - uclibc/buildroot related?

Peter S. Mazinger ps.m at gmx.net
Mon Mar 27 06:50:42 UTC 2006


On Sat, 25 Mar 2006, Adrian McMenamin wrote:

> I am having serious problems with compiling my driver for the sound card
> on the Dreamcast now I have added some very basic mixer code.
> 
> Compilation fails reporting the unavailablity of various types declared
> in asound.h - though I know this header is included (via more than one
> route).
> 
> Scanning through the header reveals nothing obvious - like a stray
> #ifdef that might exclude SH4 - so I just want to check through all the
> angles: is there any reason to think this might be uclibc/buildroot
> realted - verbose output from the build is below.

your additions are probably wrong and is not related to uclibc, first get 
rid of the errors, after that of the warnings ...

Peter

> 
> The code compiled fine until I added the *very* basic mixer code
> (essentially just place holders for the mixer functions).
> 
> 
> adrian at bossclass:~/aica/aica$ make V=1 ARCH=sh
> CROSS_COMPILE=/home/adrian/buildroot/build_sh4/staging_dir/bin/sh4-linux-
> make -C /home/adrian/linux-2.6.15.2 M=/home/adrian/aica/aica modules
> make[1]: Entering directory `/home/adrian/linux-2.6.15.2'
> mkdir -p /home/adrian/aica/aica/.tmp_versions
> make -f scripts/Makefile.build obj=/home/adrian/aica/aica
>   /home/adrian/buildroot/build_sh4/staging_dir/bin/sh4-linux-gcc
> -Wp,-MD,/home/adrian/aica/aica/.snd_card_aica.o.d  -nostdinc
> -isystem /home/adrian/buildroot/build_sh4/staging_dir/lib/gcc/sh4-linux-uclibc/3.4.2/include -D__KERNEL__ -Iinclude  -include include/linux/autoconf.h -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -ffreestanding -O2     -fomit-frame-pointer -pipe -ml -Wa,-isa=sh4 -m4 -m4-nofpu -Wdeclaration-after-statement   -DMODULE -DKBUILD_BASENAME=snd_card_aica -DKBUILD_MODNAME=snd_card_aica -c -o /home/adrian/aica/aica/snd_card_aica.o /home/adrian/aica/aica/snd_card_aica.c/home/adrian/aica/aica/snd_card_aica.c:58: warning: function declaration isn't a prototype
> /home/adrian/aica/aica/snd_card_aica.c:111: warning: function
> declaration isn't a prototype
> /home/adrian/aica/aica/snd_card_aica.c:132: warning: function
> declaration isn't a prototype
> /home/adrian/aica/aica/snd_card_aica.c:148: warning: function
> declaration isn't a prototype
> /home/adrian/aica/aica/snd_card_aica.c:163: warning: function
> declaration isn't a prototype
> /home/adrian/aica/aica/snd_card_aica.c:171: warning: function
> declaration isn't a prototype
> /home/adrian/aica/aica/snd_card_aica.c: In function
> `stereo_buffer_transfer':
> /home/adrian/aica/aica/snd_card_aica.c:221: warning: passing arg 2 of
> `dma_xfer' makes integer from pointer without a cast
> /home/adrian/aica/aica/snd_card_aica.c:232: warning: passing arg 2 of
> `dma_xfer' makes integer from pointer without a cast
> /home/adrian/aica/aica/snd_card_aica.c: In function
> `aica_period_elapsed':
> /home/adrian/aica/aica/snd_card_aica.c:277: warning: passing arg 2 of
> `dma_xfer' makes integer from pointer without a cast
> /home/adrian/aica/aica/snd_card_aica.c: In function
> `snd_aicapcm_pcm_open':
> /home/adrian/aica/aica/snd_card_aica.c:308: warning: ISO C90 forbids
> mixed declarations and code
> /home/adrian/aica/aica/snd_card_aica.c: At top level:
> /home/adrian/aica/aica/snd_card_aica.c:356: warning: function
> declaration isn't a prototype
> /home/adrian/aica/aica/snd_card_aica.c: In function `spu_begin_dma':
> /home/adrian/aica/aica/snd_card_aica.c:373: warning: passing arg 2 of
> `dma_xfer' makes integer from pointer without a cast
> /home/adrian/aica/aica/snd_card_aica.c: At top level:
> /home/adrian/aica/aica/snd_card_aica.c:489: warning: "struct
> snd_ctl_elem_info" declared inside parameter list
> /home/adrian/aica/aica/snd_card_aica.c:489: warning: its scope is only
> this definition or declaration, which is probably not what you want
> /home/adrian/aica/aica/snd_card_aica.c:489: warning: "struct
> snd_kcontrol" declared inside parameter list
> /home/adrian/aica/aica/snd_card_aica.c:494: warning: "struct
> snd_ctl_elem_value" declared inside parameter list
> /home/adrian/aica/aica/snd_card_aica.c:494: warning: "struct
> snd_kcontrol" declared inside parameter list
> /home/adrian/aica/aica/snd_card_aica.c:499: warning: "struct
> snd_ctl_elem_value" declared inside parameter list
> /home/adrian/aica/aica/snd_card_aica.c:499: warning: "struct
> snd_kcontrol" declared inside parameter list
> /home/adrian/aica/aica/snd_card_aica.c:504: error: variable
> `snd_aica_controls' has initializer but incomplete type
> /home/adrian/aica/aica/snd_card_aica.c:505: error: unknown field `iface'
> specified in initializer
> /home/adrian/aica/aica/snd_card_aica.c:505: warning: excess elements in
> struct initializer
> /home/adrian/aica/aica/snd_card_aica.c:505: warning: (near
> initialization for `snd_aica_controls')
> /home/adrian/aica/aica/snd_card_aica.c:506: error: unknown field `name'
> specified in initializer
> /home/adrian/aica/aica/snd_card_aica.c:506: warning: excess elements in
> struct initializer
> /home/adrian/aica/aica/snd_card_aica.c:506: warning: (near
> initialization for `snd_aica_controls')
> /home/adrian/aica/aica/snd_card_aica.c:507: error: unknown field `index'
> specified in initializer
> /home/adrian/aica/aica/snd_card_aica.c:507: warning: excess elements in
> struct initializer
> /home/adrian/aica/aica/snd_card_aica.c:507: warning: (near
> initialization for `snd_aica_controls')
> /home/adrian/aica/aica/snd_card_aica.c:508: error: unknown field
> `access' specified in initializer
> /home/adrian/aica/aica/snd_card_aica.c:508: error:
> `SND_CTL_ELEM_ACCESS_READWRITE' undeclared here (not in a function)
> /home/adrian/aica/aica/snd_card_aica.c:508: warning: excess elements in
> struct initializer
> /home/adrian/aica/aica/snd_card_aica.c:508: warning: (near
> initialization for `snd_aica_controls')
> /home/adrian/aica/aica/snd_card_aica.c:509: error: unknown field
> `private_values' specified in initializer
> /home/adrian/aica/aica/snd_card_aica.c:509: warning: excess elements in
> struct initializer
> /home/adrian/aica/aica/snd_card_aica.c:509: warning: (near
> initialization for `snd_aica_controls')
> /home/adrian/aica/aica/snd_card_aica.c:510: error: unknown field `info'
> specified in initializer
> /home/adrian/aica/aica/snd_card_aica.c:510: warning: excess elements in
> struct initializer
> /home/adrian/aica/aica/snd_card_aica.c:510: warning: (near
> initialization for `snd_aica_controls')
> /home/adrian/aica/aica/snd_card_aica.c:511: error: unknown field `get'
> specified in initializer
> /home/adrian/aica/aica/snd_card_aica.c:511: warning: excess elements in
> struct initializer
> /home/adrian/aica/aica/snd_card_aica.c:511: warning: (near
> initialization for `snd_aica_controls')
> /home/adrian/aica/aica/snd_card_aica.c:512: error: unknown field `put'
> specified in initializer
> /home/adrian/aica/aica/snd_card_aica.c:513: warning: excess elements in
> struct initializer
> /home/adrian/aica/aica/snd_card_aica.c:513: warning: (near
> initialization for `snd_aica_controls')
> /home/adrian/aica/aica/snd_card_aica.c:533: warning: function
> declaration isn't a prototype
> /home/adrian/aica/aica/snd_card_aica.c: In function
> `load_aica_firmware':
> /home/adrian/aica/aica/snd_card_aica.c:537: warning: ISO C90 forbids
> mixed declarations and code
> /home/adrian/aica/aica/snd_card_aica.c: In function `aica_init':
> /home/adrian/aica/aica/snd_card_aica.c:609: error: `snd_aica_control'
> undeclared (first use in this function)
> /home/adrian/aica/aica/snd_card_aica.c:609: error: (Each undeclared
> identifier is reported only once
> /home/adrian/aica/aica/snd_card_aica.c:609: error: for each function it
> appears in.)
> /home/adrian/aica/aica/snd_card_aica.c:609: warning: passing arg 1 of
> `snd_ctl_add' from incompatible pointer type
> /home/adrian/aica/aica/snd_card_aica.c: At top level:
> /home/adrian/aica/aica/snd_card_aica.c:504: error: storage size of
> `snd_aica_controls' isn't known
> /home/adrian/aica/aica/snd_card_aica.c:504: warning: 'snd_aica_controls'
> defined but not used
> make[2]: *** [/home/adrian/aica/aica/snd_card_aica.o] Error 1
> make[1]: *** [_module_/home/adrian/aica/aica] Error 2
> make[1]: Leaving directory `/home/adrian/linux-2.6.15.2'
> make: *** [all] Error 2
> 
> 
> 
> 

-- 
Peter S. Mazinger <ps dot m at gmx dot net>           ID: 0xA5F059F2
Key fingerprint = 92A4 31E1 56BC 3D5A 2D08  BB6E C389 975E A5F0 59F2




More information about the uClibc mailing list