Currently in codec to codec dai link if there are multiple params defined then dapm can use created kcontrol to decide which param to apply at runtime.
However, in case there is only single param configuration then there is no point in creating the kcontrol and also there is no point in allocating memory for kcontrol.
In the snd_soc_dapm_new_pcm function, there is memory allocation happening for kcontrol which is later used or not used based on num_param. It is better to not allocate memory when there is only a single configuration. This change is to remedy that anomaly.
This code change doesn't do much except just refactor snd_soc_dapm_new_pcm function. Now the part of allocating memory for kcontrol is allocated to a new function and it is called only in the case it is needed.
anish kumar (4): ASoC: dapm: fix error path in snd_soc_dapm_new_pcm ASoC: dapm: Refactor the code in snd_soc_dapm_new_pcm ASoC: dapm: Avoid creating kcontrol for params ASoC: dapm: Remove the redundant check
sound/soc/soc-dapm.c | 123 ++++++++++++++++++++++++++++----------------------- 1 file changed, 67 insertions(+), 56 deletions(-)