I'd like to bring up a problem with using alsa-driver on older kernels. I already made a bug report regarding snd-powermac: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3883. It's possible that other drivers suffer from this, too.
If I've understood it right, 1.0.16 should be usable on 2.2 kernels and newer. Well, it woudn't compile on 2.6.15-26-powerpc (Ubuntu 6.06.1 Dapper) without some patching.
However, the real problem began, when I tried to unload the module. It seems that something has changed (when?) in the kernel's IRQ interface, and ALSA tries to make old code compatible with it by introducing snd_request/free_irq, to be used with older kernels. The idea is to distuingish between IRQs by the last parameter, usually chip's address. This leads to trouble when several IRQs come from the same chip, as is the case with snd-powermac.
My conclusion: the drivers suffering from this should be identified, and some alternative way of handling IRQs correctly on different kernel versions should be developed.
Risto