Qualcomm SDM845 features a headphone jack via a Qualcomm WCD9340 codec which has jack detection through the wcd-mbhc-v2 driver.
ALSA features 2 ways to expose jack detection from the kernel to userspace either as an input device or through an ALSA control. The wcd-mbhc-v2 driver only supports the first option which is insufficient for userspace programs e.g. PulseAudio [1]. Therefore, ALSA clients such as PulseAudio do not pick up the jack detection events as they only support one of the possible interface (ALSA control or input interface, but not both). Expose the jack events as an ALSA control and input interface to provide ALSA clients both interfaces.
[1] https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1377
Changes in v3:
- Improved cover letter - Added Tested-by from https://lore.kernel.org/alsa-devel/20221007155716.10594-1-me@dylanvanassche.... - Properly added maintainers for sending this patch
Kind regards, Dylan Van Assche
Dylan Van Assche (1): sound: soc: codecs: wcd-mbhc-v2: expose ALSA control for jack
sound/soc/codecs/wcd-mbhc-v2.c | 4 ++++ 1 file changed, 4 insertions(+)