Mark,
I'm trying to port some old Linux code to upstream for a third-party board that uses a Freescale P1022 and a Wolfson WM8960. I've got audio working, but it's using a hack from the third-party code, and I don't know how to do implement the change properly, mostly because I don't understand DAPM.
The first problem is that I get this:
wm8960 0-001a: No platform data supplied
What kind of platform data is the driver expecting, and how do I get it that data? I don't seem to need any platform data to make the code work.
Second, I uploaded the hack to wm8960.c at http://pastebin.com/RwVy6cQg
You can see that he disables the DAPM controls for DACL, DACR, ADCL, and ADCR, and forces those bits set in the wm8960_probe function. There's also a comment that documents some limitations. What is the proper way to implement this change?
Third, in order to actually hear audio, I had to unmute the "Left Output Mixer PCM" and "Right Output Mixer PCM". Is this something that the machine driver should do automatically? And if so, how?