[PATCH v3 0/4] ASoC: codecs: wcd937x: add USB Type-C analog audio mux support
From: Val Packett
Date: Tue Oct 20 2026 - 13:09:15 EST
Currently only wcd939x has support for USB-C SBU audio in mainline, but the
older WCD codecs can do the same thing 939x does with USBSS, with an
external 3rd party mux instead. This series adds support for that based on
wcd939x code.
Tested on sm7325-motorola-dubai.
v3:
* Zero initialize the device_node with the __free, oops (sashiko-bot)
* Clear the pointer in wcd93[79]x_mbhc_deinit before tearing down the
actual wcd_mbhc object (sashiko-bot)
* Hopefully this is good enough to satisfy the concern about
getting a typec notification *while removing the codec* which is
something that has an extremely low chance of ever happening in
practice anyway. I'm not adding an extra mutex for this. I'm tired.
* Pull R-b for the commit in the middle but not for the other ones
because of the changes above.. (prooobably would've been ok but well)
v2: https://lore.kernel.org/all/20261020082631.1509275-1-val@xxxxxxxxxxxx/
v1: https://lore.kernel.org/all/20261018231244.1266926-1-val@xxxxxxxxxxxx/
Thanks,
~val
---
Val Packett (4):
ASoC: dt-bindings: qcom,wcd937x: Add USB-C graph properties
ASoC: codecs: wcd937x: add USB Type-C analog audio mux support
ASoC: codecs: wcd-mbhc: guard against NULL cfg in
typec_report_(un)plug
ASoC: codecs: wcd939x: fix ref leak and NULL deref with USB-C audio
.../bindings/sound/qcom,wcd937x.yaml | 15 ++
sound/soc/codecs/Kconfig | 2 +
sound/soc/codecs/wcd-mbhc-v2.c | 4 +-
sound/soc/codecs/wcd937x.c | 170 +++++++++++++++++-
sound/soc/codecs/wcd939x.c | 21 ++-
5 files changed, 198 insertions(+), 14 deletions(-)
--
2.55.0