ASoC: qcom: Parse "pin-switches" and "widgets" from DT
authorMark Brown <broonie@kernel.org>
Thu, 23 Dec 2021 19:38:13 +0000 (19:38 +0000)
committerMark Brown <broonie@kernel.org>
Thu, 23 Dec 2021 19:38:13 +0000 (19:38 +0000)
commit2f15d3cebd45f773a2e27cce84ca851164dd5acd
treee3af59b4e59c97ffd315ee4b2c73fcd744f340ac
parent4e28491a7a198c668437f2be8a91a76aa52f20eb
parent319a05330f4ff3f951f9c42094958c6cdef393b3
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/