On some Qualcomm platforms such as QCS6490-RB3Gen2, the multiple
WSA8830/WSA8835 speakers share a common reset (shutdown) GPIO.
To handle such cases, use the reset controller framework along with the
"reset-gpio" driver.
Add devm action to safely disable regulator on device removal to
prevent potential warnings from _regulator_put() during device
removal
Tested on:
- QCS6490-RB3Gen2
changes in [v3]:
- Created separate patch for devm action to safely disable
regulator.
- cleanup the v2-0002 patch.
- Link to V2: https://lore.kernel.org/linux-sound/20250718104628.3732645-1-mohammad.rafi.shaik@oss.qualcomm.com/
changes in [v2]:
- Addressed the review comments from Krzysztof, Dmitry, Philipp.
- Used devm_reset_control_get_optional_shared_deasserted() api.
- created deasserts/asserts functions to handle reset gpios.
- Register devm action to safely disable the regulator on device removal.
- Link to V1: https://lore.kernel.org/linux-sound/20250620103012.360794-1-mohammad.rafi.shaik@oss.qualcomm.com/
Mohammad Rafi Shaik (3):
ASoC: dt-bindings: qcom,wsa8830: Add reset-gpios for shared line
ASoC: codecs: wsa883x: Add devm action to safely disable regulator on
device removal
ASoC: codecs: wsa883x: Handle shared reset GPIO for WSA883x speakers
.../bindings/sound/qcom,wsa883x.yaml | 11 ++-
sound/soc/codecs/wsa883x.c | 93 ++++++++++++++-----
2 files changed, 81 insertions(+), 23 deletions(-)
base-commit: d7af19298454ed155f5cf67201a70f5cf836c842
--
2.34.1