The sst-haswell-pcm driver is the only one that registers controls and DAPM elements for a snd_soc_platform_driver. Moving them over to the component that is registered by the same driver make it possible to remove the steal_silbling_dai_hack in the core as well as the extra indirection that is used to register the controls and DAPM elements.
Vinod, Subhransu, can you take a look at this and make sure it works as expected and also keep this in mind for the new DPCM drivers?
Thanks, - Lars
Lars-Peter Clausen (4): ASoC: Add snd_soc_component_{get,set}_drvdata() ASoC: sst-haswell-pcm: Alloc state struct in driver probe() ASoC: sst-haswell-pcm: Move controls and DAPM elements to component ASoC: Remove table based DAPM/control setup support from snd_soc_platform_driver
include/sound/soc.h | 28 ++++++++++--------- sound/soc/intel/sst-haswell-pcm.c | 56 ++++++++++++++++++------------------- sound/soc/soc-core.c | 58 ++++----------------------------------- 3 files changed, 49 insertions(+), 93 deletions(-)