At Mon, 10 Aug 2009 18:42:20 +0300, Ozan Çağlayan wrote:
Takashi Iwai wrote:
At Mon, 10 Aug 2009 16:50:55 +0300, Ozan Çağlayan wrote:
Hi,
I've finally succesfully compiled and linked saa7134-alsa driver using an external alsa-driver and its Module.symvers file. Everything seems okay, no undefined symbol or something else:
- An installed 2.6.30.4 kernel which only builds and brings soundcore
and sound_firmware,
- Latest alsa-driver built externally and installed,
- Latest saa7134-alsa, cx88-alsa, etc. code from linus-2.6 (seen that
they don't affected by some API/ABI changes) patched on top of the alsa-driver tarball,
The external drivers using ALSA API have to be built with the newer ALSA header files from alsa-driver tree. It's not enough to change snd_card_new() with snd_card_create(). The core structure was changed, so the whole build has to be adjusted, too.
Actually that was the 0th step that I forgot to mention. I'm installing the headers from the alsa-driver snapshot into /usr/include/sound and then I build alsa-driver. Then I use the symvers from the alsa-driver build alltogether with the headers that I've already installed into /usr/include/sound to build the V4L ones.
But /usr/include/sound isn't used for building kernel modules normally. Unless any hack is added, these files have to be installed to the kernel header directory.
Takashi