ASoC: qcom: apq8016-sbc: Add support to multi codec.

This patch adds support to multi codec, as the msm8916 codec is now
split into two codecs, Analog and Digital.

Also update the bindings and example to show that the card supports
multicodec.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Srinivas Kandagatla 2016-10-20 15:20:48 +01:00 committed by Mark Brown
parent 393ac58623
commit 09065f8b44
2 changed files with 5 additions and 10 deletions

View File

@ -44,7 +44,7 @@ Required dai-link subnodes:
Required CPU/CODEC subnodes properties: Required CPU/CODEC subnodes properties:
-link-name : Name of the dai link. -link-name : Name of the dai link.
-sound-dai : phandle and port of CPU/CODEC -sound-dai : phandle/s and port of CPU/CODEC
Example: Example:
@ -72,7 +72,7 @@ sound: sound {
sound-dai = <&lpass MI2S_PRIMARY>; sound-dai = <&lpass MI2S_PRIMARY>;
}; };
codec { codec {
sound-dai = <&wcd_codec 0>; sound-dai = <&lpass_codec 0>, <&wcd_codec 0>;
}; };
}; };

View File

@ -123,20 +123,15 @@ static struct apq8016_sbc_data *apq8016_sbc_parse_of(struct snd_soc_card *card)
return ERR_PTR(-EINVAL); return ERR_PTR(-EINVAL);
} }
link->codec_of_node = of_parse_phandle(codec, "sound-dai", 0);
if (!link->codec_of_node) {
dev_err(card->dev, "error getting codec phandle\n");
return ERR_PTR(-EINVAL);
}
ret = snd_soc_of_get_dai_name(cpu, &link->cpu_dai_name); ret = snd_soc_of_get_dai_name(cpu, &link->cpu_dai_name);
if (ret) { if (ret) {
dev_err(card->dev, "error getting cpu dai name\n"); dev_err(card->dev, "error getting cpu dai name\n");
return ERR_PTR(ret); return ERR_PTR(ret);
} }
ret = snd_soc_of_get_dai_name(codec, &link->codec_dai_name); ret = snd_soc_of_get_dai_link_codecs(dev, codec, link);
if (ret) {
if (ret < 0) {
dev_err(card->dev, "error getting codec dai name\n"); dev_err(card->dev, "error getting codec dai name\n");
return ERR_PTR(ret); return ERR_PTR(ret);
} }