diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-4.19/950-0341-ASoC-tlv320aic32x4-SND_SOC_DAPM_MICBIAS-is-deprecate.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-4.19/950-0341-ASoC-tlv320aic32x4-SND_SOC_DAPM_MICBIAS-is-deprecate.patch | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/target/linux/bcm27xx/patches-4.19/950-0341-ASoC-tlv320aic32x4-SND_SOC_DAPM_MICBIAS-is-deprecate.patch b/target/linux/bcm27xx/patches-4.19/950-0341-ASoC-tlv320aic32x4-SND_SOC_DAPM_MICBIAS-is-deprecate.patch deleted file mode 100644 index aa5f12a5ca..0000000000 --- a/target/linux/bcm27xx/patches-4.19/950-0341-ASoC-tlv320aic32x4-SND_SOC_DAPM_MICBIAS-is-deprecate.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 053938f67f73773152f70d89aa32e7893ee19694 Mon Sep 17 00:00:00 2001 -From: b-ak <anur.bhargav@gmail.com> -Date: Wed, 9 Jan 2019 22:41:21 +0530 -Subject: [PATCH] ASoC: tlv320aic32x4: SND_SOC_DAPM_MICBIAS is - deprecated - -commit 04d979d7a7bac2f645cd827ea37e5ffa5b4e1f97 upstream. - -SND_SOC_DAPM_MICBIAS is deprecated, replace it with SND_SOC_DAPM_SUPPLY. - -MICBIAS voltage wasn't supplied to the microphone with the older -SND_SOC_DAPM_MICBIAS widget, hence the microphone wouldn't work. - -This patch fixes the problem. - -Signed-off-by: b-ak <anur.bhargav@gmail.com> -Signed-off-by: Mark Brown <broonie@kernel.org> ---- - sound/soc/codecs/tlv320aic32x4.c | 30 +++++++++++++++++++++++++++++- - sound/soc/codecs/tlv320aic32x4.h | 1 + - 2 files changed, 30 insertions(+), 1 deletion(-) - ---- a/sound/soc/codecs/tlv320aic32x4.c -+++ b/sound/soc/codecs/tlv320aic32x4.c -@@ -79,6 +79,32 @@ struct aic32x4_priv { - struct device *dev; - }; - -+static int mic_bias_event(struct snd_soc_dapm_widget *w, -+ struct snd_kcontrol *kcontrol, int event) -+{ -+ struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); -+ -+ switch (event) { -+ case SND_SOC_DAPM_POST_PMU: -+ /* Change Mic Bias Registor */ -+ snd_soc_component_update_bits(component, AIC32X4_MICBIAS, -+ AIC32x4_MICBIAS_MASK, -+ AIC32X4_MICBIAS_LDOIN | -+ AIC32X4_MICBIAS_2075V); -+ printk(KERN_DEBUG "%s: Mic Bias will be turned ON\n", __func__); -+ break; -+ case SND_SOC_DAPM_PRE_PMD: -+ snd_soc_component_update_bits(component, AIC32X4_MICBIAS, -+ AIC32x4_MICBIAS_MASK, 0); -+ printk(KERN_DEBUG "%s: Mic Bias will be turned OFF\n", -+ __func__); -+ break; -+ } -+ -+ return 0; -+} -+ -+ - static int aic32x4_get_mfp1_gpio(struct snd_kcontrol *kcontrol, - struct snd_ctl_elem_value *ucontrol) - { -@@ -450,7 +476,9 @@ static const struct snd_soc_dapm_widget - SND_SOC_DAPM_MUX("IN3_R to Left Mixer Negative Resistor", SND_SOC_NOPM, 0, 0, - in3r_to_lmixer_controls), - -- SND_SOC_DAPM_MICBIAS("Mic Bias", AIC32X4_MICBIAS, 6, 0), -+ SND_SOC_DAPM_SUPPLY("Mic Bias", AIC32X4_MICBIAS, 6, 0, mic_bias_event, -+ SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD), -+ - - SND_SOC_DAPM_OUTPUT("HPL"), - SND_SOC_DAPM_OUTPUT("HPR"), ---- a/sound/soc/codecs/tlv320aic32x4.h -+++ b/sound/soc/codecs/tlv320aic32x4.h -@@ -195,6 +195,7 @@ int aic32x4_remove(struct device *dev); - /* AIC32X4_MICBIAS */ - #define AIC32X4_MICBIAS_LDOIN BIT(3) - #define AIC32X4_MICBIAS_2075V 0x60 -+#define AIC32x4_MICBIAS_MASK GENMASK(6, 3) - - /* AIC32X4_LMICPGANIN */ - #define AIC32X4_LMICPGANIN_IN2R_10K 0x10 |