On Fri, Oct 07, 2011 at 01:40:21PM +0300, Péter Ujfalusi wrote:
On Friday 07 October 2011 11:17:12 Mark Brown wrote:
No, there should be no need for either callback in individual drivers unless they're doing something very specialist. This will have been the case for a while now.
This might be true for machines, which adds jack functionality. We are now calling snd_soc_dapm_new_widgets before adding jack pins. Also machines passing their DAPM widgets/routes via snd_soc_card are safe from this issue.
No, it should never be needed by anything.
For machines, which does not add jacks the snd_soc_dapm_new_widgets will be not called at all, which will eventually leads to a crash.
in soc-core.c: soc_post_component_init() the dai->init called, but there's no additional snd_soc_dapm_new_widgets call to make sure that the new widgets added by the machine driver are instantiated.
We could either go round every single machine driver in the kernel modifying them or we could make sure it's handled in the core - I know which of those seems better to me!