ASoC: nau8824: Fix headphone vs headset, button-press detection no longer working
authorHans de Goede <hdegoede@redhat.com>
Wed, 29 Sep 2021 20:15:12 +0000 (22:15 +0200)
committerMark Brown <broonie@kernel.org>
Thu, 30 Sep 2021 12:25:55 +0000 (13:25 +0100)
Commit 1d25684e2251 ("ASoC: nau8824: Fix open coded prefix handling")
replaced the nau8824_dapm_enable_pin() helper with direct calls to
snd_soc_dapm_enable_pin(), but the helper was using
snd_soc_dapm_force_enable_pin() and not forcing the MICBIAS + SAR
supplies on breaks headphone vs headset and button-press detection.

Replace the snd_soc_dapm_enable_pin() calls with
snd_soc_dapm_force_enable_pin() to fix this.

Cc: stable@vger.kernel.org
Fixes: 1d25684e2251 ("ASoC: nau8824: Fix open coded prefix handling")
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20210929201512.460360-1-hdegoede@redhat.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/nau8824.c

index db88be48c9980196550bb654785d175aca62e70e..f946ef65a4c19a9f90106b14804459ed16c62e61 100644 (file)
@@ -867,8 +867,8 @@ static void nau8824_jdet_work(struct work_struct *work)
        struct regmap *regmap = nau8824->regmap;
        int adc_value, event = 0, event_mask = 0;
 
-       snd_soc_dapm_enable_pin(dapm, "MICBIAS");
-       snd_soc_dapm_enable_pin(dapm, "SAR");
+       snd_soc_dapm_force_enable_pin(dapm, "MICBIAS");
+       snd_soc_dapm_force_enable_pin(dapm, "SAR");
        snd_soc_dapm_sync(dapm);
 
        msleep(100);