The media-tv/wis-go7007 package's sound system fails to compile with the include files of the 2.6.21 kernel. It seems a number of former typedefs have been lost (snd_card_t and others have been lost). I've got a patch that adds the typedefs back for the one file in wis-go7007 that needs it.
Created attachment 117736 [details, diff] Patch to re-add missing typedefs from 2.6.21 kernel's sound api
Patch should work but it would be better to remove usage of snd_card_t and friends, and instead use "struct snd_card" etc.
dsd: The usage in this patch is actually correct. He is basically defining it as an anonymous structure which is fine. There is not going to be any penalty for it speed wise. Anonymous structures are actually very popular to abstract away the need to pull in additional headers and also leak out data that should be private.
(In reply to comment #3) > He is basically defining it as an anonymous structure No he's not. Maybe you meant opaque type? An opaque declaration would not suffice either though -- the real header is needed, e.g. go7007_snd_init() dereferences a snd_card_t pointer. The patch will work just fine, my comment was purely on coding style: don't use typedef, reference the struct explicitly. See /usr/src/linux/Documentation/CodingStyle chapter 5.
I'll be asking arches to mark 2.6.21 stable within the next few days, would be great if this issue could be fixed before that time.
Created attachment 125062 [details, diff] Convert to struct usage Patch to change to struct's rather that use typedeff'ing for the 2.6.21 kernels.
(In reply to comment #6) > Created an attachment (id=125062) [edit] > Convert to struct usage > > Patch to change to struct's rather that use typedeff'ing for the 2.6.21 > kernels. > Thanks for the patch! In CVS as -r2
Thanks, patch is exactly what I was suggesting.