At Mon, 18 May 2009 13:55:57 +0300, Ozan Çağlayan wrote:
Takashi Iwai wrote:
It's fairly difficult because the internal API was changed. Especially the core struct was modified recently, thus there is no ABI compatibility at all between the older kernel and the latest alsa driver.
Is it technically possible to patch those tiny drivers onto alsa-driver and compile them if the .config file from the kernel source has enabled those DVB devices?
Or maybe I should enable ALSA in-kernel, compile those DVB sound stuff and remove the sound/ directory from the kernel package? (Even the idea sounds really *dirty*, dunno if it's technically possible too)
You'd need to copy the original ALSA in-kernel stuff, copy the headers from alsa-driver, then rebuild the related modules in kernel to follow the new API. Also, some wrappers would be needed, e.g. for the obsoleted snd_card_new().
But that shouldn't pose any problem if I stick with 2.6.30_rc* + latest alsa-driver right?
Right. It's about 2.6.29 or earlier kernels.
But yes, during the lifetime of a stable distribution release, the separate alsa-driver will always move faster than the kernel and the ABI changes will be inevitable.
So It will become difficult enough when the stock kernel of the distro and alsa-driver diverges from each other, am I right?
Yes, at this time, the core struct was change, unfortunately. If it's just about a function, this could be easier to add a hack, but the struct is much more difficult to work around the ABI compatibility.
Takashi