OK, so I fixed some logging code....
Firstly, there was a pretty major code re-structuring in relation to the sound code between 4.0 and 4.1. Some of the added api calls I simply stubbed as I didn't think they were important, some I implemented.
What I believe is happening is that whilst the HDA chipset is being recognised, I don't think the code to support the mixers is being loaded at all. I see no logging from (for example) patch_sigmatel.c
What I need to do is step through the code and determine where the hda_intel/hda_codec code is supposed to call the code for the mixer, then work out why it isn't being loaded. I suspect this will come back to some code I stubbed that needs to be at least partially implemented - I just don't want to waste time implementing the wrong code...
No timeframes on updates, I have a busy week coming up...