diff options
| author | Mark Brown <broonie@kernel.org> | 2021-12-23 22:38:13 +0300 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2021-12-23 22:38:13 +0300 |
| commit | 2f15d3cebd45f773a2e27cce84ca851164dd5acd (patch) | |
| tree | e3af59b4e59c97ffd315ee4b2c73fcd744f340ac /include | |
| parent | 4e28491a7a198c668437f2be8a91a76aa52f20eb (diff) | |
| parent | 319a05330f4ff3f951f9c42094958c6cdef393b3 (diff) | |
| download | linux-2f15d3cebd45f773a2e27cce84ca851164dd5acd.tar.xz | |
ASoC: qcom: Parse "pin-switches" and "widgets" from DT
Merge series from Stephan Gerhold <stephan@gerhold.net>:
Some sound card setups might require extra pin switches to allow
turning off certain audio components. simple-card supports this
already using the "pin-switches" and "widgets" device tree property.
This series makes it possible to use the same properties for the Qcom
sound cards.
To implement that, the function that parses the "pin-switches" property
in simple-card-utils.c is first moved into the ASoC core. Then two
simple function calls are added to the common Qcom sound card DT parser.
Finally there is a small patch for the msm8916-wcd-analog codec to make
it possible to model sound card setups used in some MSM8916 smartphones.
(See PATCH 2/4 for an explanation of some real example use cases.)
Using pin switches rather than patching codec drivers with switches was
originally suggested by Mark Brown on a patch for the tfa989x codec:
https://lore.kernel.org/alsa-devel/YXaMVHo9drCIuD3u@sirena.org.uk/
Diffstat (limited to 'include')
| -rw-r--r-- | include/sound/soc.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/sound/soc.h b/include/sound/soc.h index 5872a8864f3b..7a1650b303f1 100644 --- a/include/sound/soc.h +++ b/include/sound/soc.h @@ -1211,6 +1211,7 @@ int snd_soc_of_parse_card_name(struct snd_soc_card *card, const char *propname); int snd_soc_of_parse_audio_simple_widgets(struct snd_soc_card *card, const char *propname); +int snd_soc_of_parse_pin_switches(struct snd_soc_card *card, const char *prop); int snd_soc_of_get_slot_mask(struct device_node *np, const char *prop_name, unsigned int *mask); |
