Whoo hoo, booted up to journeyer level. Feel like a proper kernel hacker now :)
Actually, been struggling a little with the mixer code on the driver, but worked out what was wrong (the documentation referred to the api in the alsa-driver tree which is somewhat ahead of the code in the kernel).