Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

sound: codecs: wm8962: Assorted fixes

Merge series from Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>:

Bunch of patches developed while working on Purism's Librem 5 phone.

+11 -1
+11 -1
sound/soc/codecs/wm8962.c
··· 67 67 struct mutex dsp2_ena_lock; 68 68 u16 dsp2_ena; 69 69 70 + int mic_status; 71 + 70 72 struct delayed_work mic_work; 71 73 struct snd_soc_jack *jack; 72 74 ··· 1762 1760 1763 1761 1764 1762 SOC_SINGLE("3D Switch", WM8962_THREED1, 0, 1, 0), 1765 - SND_SOC_BYTES_MASK("3D Coefficients", WM8962_THREED1, 4, WM8962_THREED_ENA), 1763 + SND_SOC_BYTES_MASK("3D Coefficients", WM8962_THREED1, 4, WM8962_THREED_ENA | WM8962_ADC_MONOMIX), 1766 1764 1767 1765 SOC_SINGLE("DF1 Switch", WM8962_DF1, 0, 1, 0), 1768 1766 SND_SOC_BYTES_MASK("DF1 Coefficients", WM8962_DF1, 7, WM8962_DF1_ENA), ··· 3083 3081 if (reg & WM8962_MICSHORT_STS) { 3084 3082 status |= SND_JACK_BTN_0; 3085 3083 irq_pol |= WM8962_MICSCD_IRQ_POL; 3084 + 3085 + /* Don't report a microphone if it's shorted right after 3086 + * plugging in, as this may be a TRS plug in a TRRS socket. 3087 + */ 3088 + if (!(wm8962->mic_status & WM8962_MICDET_STS)) 3089 + status = 0; 3086 3090 } 3091 + 3092 + wm8962->mic_status = status; 3087 3093 3088 3094 snd_soc_jack_report(wm8962->jack, status, 3089 3095 SND_JACK_MICROPHONE | SND_JACK_BTN_0);