If you are in control of the audio data stream (i.e., the actual bytes of raw 44.1khz audio sent to the DSP), then you can mix whatever you want in software before you send it to the outputs.

This is not implemented in the current software, you would have to write your own software to do it.

Whether or not you implement it in the kernel depends on what you want to do with it. The Voladj modification proves that the kernel certainly can get its mitts on the audio stream before it hits the DSP, the question is what are you trying to add to the sound?

If you are interested in mixing the microphone input with the player output, remember that there is a fairly low sampling rate on that mic input. You can't get high-fidelity sampling from the mic. I think it tops out at around 11khz. And the aux/tuner inputs are a no-go because they aren't routed in such a way as to allow sampling (if I recall correctly) and they can't be mixed directly.
_________________________
Tony Fabris