ASoC: qcom: common: Parse "pin-switches" and "widgets" from DT

Use the DT helpers in the ASoC core to parse the "pin-switches" and
"widgets" properties from the device tree. This allows adding extra
mixers to disable e.g. an extra speaker amplifier that would be
normally powered on automatically because it is connected to a shared
output pin.

Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Link: https://lore.kernel.org/r/20211214142049.20422-4-stephan@gerhold.net
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Stephan Gerhold 2021-12-14 15:20:48 +01:00 committed by Mark Brown
parent 37a49da9a7
commit 2623e66de1
No known key found for this signature in database
GPG key ID: 24D68B725D5487D0

View file

@ -26,6 +26,12 @@ int qcom_snd_parse_of(struct snd_soc_card *card)
return ret;
}
if (of_property_read_bool(dev->of_node, "widgets")) {
ret = snd_soc_of_parse_audio_simple_widgets(card, "widgets");
if (ret)
return ret;
}
/* DAPM routes */
if (of_property_read_bool(dev->of_node, "audio-routing")) {
ret = snd_soc_of_parse_audio_routing(card, "audio-routing");
@ -39,6 +45,10 @@ int qcom_snd_parse_of(struct snd_soc_card *card)
return ret;
}
ret = snd_soc_of_parse_pin_switches(card, "pin-switches");
if (ret)
return ret;
ret = snd_soc_of_parse_aux_devs(card, "aux-devs");
if (ret)
return ret;