On Fri, Oct 07, 2011 at 04:14:36PM +0300, Péter Ujfalusi wrote:
What we can do:
- Add back the snd_soc_dapm_new_widgets() call post dai_link->init in the
soc_post_component_init (while keeping the pre dai_link->init call to this).
Yes, that's needed.
- Convert all machine drivers which uses the dai_link->init call to just add
their DAPM widgets/routes to pass it via snd_soc_card struct.
Obviously we should be doing this where we can - we won't be able to get all of them as some of them will have conditionals.
- From the remaining drivers the soc_dapm_sync need to be removed. If they do
funky stuff with their widgets we might need to add snd_soc_dapm_new_widgets() for their init call to be sure they are not crashing.
new_widgets() is orthogonal to the sync(), there is now a stronger requirement for it though.
I have converted some of the OMAP machine drivers according to point 2 after this patch. I only changed those which seamed obvious.
Yeah, I didn't apply all those patches as they depended on this one.