You should look to code for GUS soundcards how can be things done...
Note: Code should be compiled cleanly under 2.0.X kernels and under latest 2.1.X kernels...