[alsa-devel] [PATCH 1/4] ASoC: firmware: Add support for FW based kcontrols.

Takashi Iwai tiwai at suse.de
Thu Nov 29 18:35:38 CET 2012


At Thu, 29 Nov 2012 16:01:25 +0000,
Liam Girdwood wrote:
> 
> On 29/11/12 15:51, Liam Girdwood wrote:
> > On 29/11/12 15:15, Takashi Iwai wrote:
> >> At Thu, 29 Nov 2012 12:08:18 +0000,
> >> Liam Girdwood wrote:
> >>>
> >>> On 19/11/12 18:36, Takashi Iwai wrote:
> >
> >>>>
> >>>> For the sound stuff, the patch is queued for 3.8 in for-next branch.
> >>>> Please rebase on it.
> >>>
> >>> Done, but I'm now seeing some type conflict errors when building my userspace
> >>> tools (i.e. after moving to include uapi/sound/asound.h from sound/asound.h).
> >>>
> >>> e.g.
> >>>
> >>> #include <stdlib.h>
> >>> #include <uapi/sound/asound.h>
> >>>
> >>> int main ()
> >>> {
> >>> }
> >>>
> >>> gives :-
> >>>
> >>> gcc uapi-test.c -I ~/source/linux.git/include
> >>
> >> Pass -I ~/source/linux.git/include/uapi
> >>
> >> then
> >>
> >> #include <sound/asound.h>
> >>
> >
> > Ah, I did initially try this before emailing :-
> >
> > gcc uapi-test.c -I ~/source/linux.git/include/uapi
> > In file included from
> > /home/lrg/source/linux.git/include/uapi/sound/asound.h:26:0,
> >                   from uapi-test.c:2:
> > /home/lrg/source/linux.git/include/uapi/linux/types.h:9:2: warning: #warning
> > "Attempt to use kernel headers from user space, see
> > http://kernelnewbies.org/KernelHeaders" [-Wcpp]
> > In file included from
> > /home/lrg/source/linux.git/include/uapi/linux/posix_types.h:4:0,
> >                   from /home/lrg/source/linux.git/include/uapi/linux/types.h:13,
> >                   from /home/lrg/source/linux.git/include/uapi/sound/asound.h:26,
> >                   from uapi-test.c:2:
> > /home/lrg/source/linux.git/include/uapi/linux/stddef.h:1:28: fatal error:
> > linux/compiler.h: No such file or directory
> >
> > adding -D__EXPORTED_HEADERS__ to gcc command line gets rid of the warning, but
> > it seems we are missing compiler.h (even in todays linux-next).
> >
> > If this works for you, it may be an issue at my end.
> >
> 
> In fact adding the old include path at the end works, but is probably an 
> interim fix until the uapi work is completed.
> 
>   gcc uapi-test.c -I ~/source/linux.git/include/uapi -D__EXPORTED_HEADERS__ -I 
> /home/lrg/source/linux.git/include/

Well, actually the content of uapi/sound/asound.h won't be changed.

Looking at this issue more closely, I found that glibc package also
provides the copy of linux kernel headers as well, but they are
stripped.  And the stripped form is almost what we have now in
include/uapi/*.  The difference is that all ifdef KERNEL will be
stripped, thus the check of non-kernel access in linux/types.h is also
stripped.

That being said, once when kernel uapi things get merged to glibc,
everything will be fine....  Well, I hope.


Takashi


More information about the Alsa-devel mailing list