On 23.07.2013 20:30, Mark Brown wrote:
On Tue, Jul 23, 2013 at 05:34:59PM +0200, Daniel Mack wrote:
With printk() in snd_soc_dapm_new_control(), I see the following widgets being created during boot (one pair for each Codec, and two pairs for the platform dai):
OK, so the issue here is probably that you're overloading the single McASP object rather than anything else
Hmm, I'm not following. Isn't that the way things are supposed to work with DPCM?
Lookups are done first in the local DAPM context so so long as the thing that's setting up the links is doing so in the same context everything should be OK. This is needed so you can have two of the same device in a system.
Hmm, but DPCM does not have such a local context, and just tries to look up the widgets by name globally.
The prefix mechanism is intended to address this; however it's only currently supported for CODECs. If we move the prefixes to components then they should be usable for CPU DAIs.
But that's a static string as well. How can we distiguish between two Codecs of the same type, or two McASP instances?
All of that might not have been a big issue so far maybe, but with DPMC, we need to make the names unique, and add a way to uniquely identify each widget along with its device identifier.
Liam, could you explain what you think makes sense here?
Thanks, Daniel