Commit 022658b "ASoC: core: Add support for DAI and machine kcontrols." created new functions to create controls for cards, codecs, platforms, and DAIs. The new snd_soc_add_card_controls() passed the wrong "data" to utility function snd_soc_add_controls(); it should be passing a codec, but instead ended up passing the soc_card. Fix this.
Signed-off-by: Stephen Warren swarren@nvidia.com --- sound/soc/soc-core.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 8bd9995..e44b6f6 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -2095,9 +2095,13 @@ int snd_soc_add_card_controls(struct snd_soc_card *soc_card, const struct snd_kcontrol_new *controls, int num_controls) { struct snd_card *card = soc_card->snd_card; + struct snd_soc_codec *codec = + list_first_entry(&soc_card->codec_dev_list, + struct snd_soc_codec, + card_list);
return snd_soc_add_controls(card, soc_card->dev, controls, num_controls, - NULL, soc_card); + NULL, codec); } EXPORT_SYMBOL_GPL(snd_soc_add_card_controls);