Loading sound/soc/codecs/Kconfig +2 −2 Original line number Diff line number Diff line Loading @@ -882,7 +882,6 @@ config SND_SOC_WCD9335 tristate depends on WCD9XXX_CODEC_CORE select SND_SOC_WCD9XXX select SND_SOC_WCD_MBHC select SND_SOC_WCD_MBHC_LEGACY select SND_SOC_WCD_CPE Loading @@ -900,7 +899,6 @@ config SND_SOC_WCD934X config SND_SOC_WCD934X_MBHC tristate depends on SND_SOC_WCD934X select SND_SOC_WCD_MBHC select SND_SOC_WCD_MBHC_ADC config REGMAP_SWR Loading Loading @@ -933,9 +931,11 @@ config SND_SOC_WCD_MBHC config SND_SOC_WCD_MBHC_LEGACY tristate select SND_SOC_WCD_MBHC config SND_SOC_WCD_MBHC_ADC tristate select SND_SOC_WCD_MBHC config SND_SOC_WCD_DSP_MGR tristate Loading sound/soc/codecs/Makefile +5 −3 Original line number Diff line number Diff line Loading @@ -172,10 +172,12 @@ ifeq ($(CONFIG_COMMON_CLK_QCOM), y) endif snd-soc-wcd-cpe-objs := wcd_cpe_services.o wcd_cpe_core.o snd-soc-wsa881x-objs := wsa881x.o wsa881x-tables.o wsa881x-regmap.o wsa881x-temp-sensor.o snd-soc-wcd-mbhc-objs := wcd-mbhc-v2.o ifneq (,$(filter $(CONFIG_SND_SOC_WCD_MBHC_LEGACY),y m)) snd-soc-wcd-mbhc-objs := wcd-mbhc-v2.o wcd-mbhc-legacy.o else ifneq (,$(filter $(CONFIG_SND_SOC_WCD_MBHC_ADC),y m)) snd-soc-wcd-mbhc-objs := wcd-mbhc-v2.o wcd-mbhc-adc.o snd-soc-wcd-mbhc-objs += wcd-mbhc-legacy.o endif ifneq (,$(filter $(CONFIG_SND_SOC_WCD_MBHC_ADC),y m)) snd-soc-wcd-mbhc-objs += wcd-mbhc-adc.o endif snd-soc-wsa881x-analog-objs := wsa881x-analog.o wsa881x-tables-analog.o snd-soc-wsa881x-analog-objs += wsa881x-regmap-analog.o wsa881x-irq.o Loading sound/soc/codecs/sdm660_cdc/Kconfig +0 −1 Original line number Diff line number Diff line config SND_SOC_SDM660_CDC tristate "MSM Internal PMIC based codec" select SND_SOC_WCD_MBHC select SND_SOC_WCD_MBHC_LEGACY sound/soc/codecs/wcd-mbhc-v2.c +3 −3 Original line number Diff line number Diff line Loading @@ -1108,7 +1108,7 @@ static irqreturn_t wcd_mbhc_release_handler(int irq, void *data) * For ADC MBHC, ADC_COMPLETE interrupt will be generated * in this case. So skip the check here. */ if (!WCD_MBHC_DETECTION && if (mbhc->mbhc_detection_logic == WCD_DETECTION_LEGACY && mbhc->current_plug == MBHC_PLUG_TYPE_HEADPHONE) { wcd_mbhc_find_plug_and_report(mbhc, MBHC_PLUG_TYPE_HEADSET); goto exit; Loading Loading @@ -1922,7 +1922,7 @@ int wcd_mbhc_init(struct wcd_mbhc *mbhc, struct snd_soc_codec *codec, init_waitqueue_head(&mbhc->wait_btn_press); mutex_init(&mbhc->codec_resource_lock); switch (WCD_MBHC_DETECTION) { switch (mbhc->mbhc_detection_logic) { case WCD_DETECTION_LEGACY: wcd_mbhc_legacy_init(mbhc); break; Loading @@ -1931,7 +1931,7 @@ int wcd_mbhc_init(struct wcd_mbhc *mbhc, struct snd_soc_codec *codec, break; default: pr_err("%s: Unknown detection logic type %d\n", __func__, WCD_MBHC_DETECTION); __func__, mbhc->mbhc_detection_logic); break; } Loading sound/soc/codecs/wcd-mbhc-v2.h +3 −6 Original line number Diff line number Diff line Loading @@ -157,12 +157,6 @@ enum wcd_mbhc_detect_logic { WCD_DETECTION_ADC, }; #if IS_ENABLED(CONFIG_SND_SOC_WCD_MBHC_ADC) #define WCD_MBHC_DETECTION WCD_DETECTION_ADC #else #define WCD_MBHC_DETECTION WCD_DETECTION_LEGACY #endif enum wcd_mbhc_cs_mb_en_flag { WCD_MBHC_EN_CS = 0, WCD_MBHC_EN_MB, Loading Loading @@ -565,6 +559,9 @@ struct wcd_mbhc { struct mutex hphl_pa_lock; struct mutex hphr_pa_lock; /* Holds mbhc detection method - ADC/Legacy */ unsigned int mbhc_detection_logic; unsigned long intr_status; bool is_hph_ocp_pending; Loading Loading
sound/soc/codecs/Kconfig +2 −2 Original line number Diff line number Diff line Loading @@ -882,7 +882,6 @@ config SND_SOC_WCD9335 tristate depends on WCD9XXX_CODEC_CORE select SND_SOC_WCD9XXX select SND_SOC_WCD_MBHC select SND_SOC_WCD_MBHC_LEGACY select SND_SOC_WCD_CPE Loading @@ -900,7 +899,6 @@ config SND_SOC_WCD934X config SND_SOC_WCD934X_MBHC tristate depends on SND_SOC_WCD934X select SND_SOC_WCD_MBHC select SND_SOC_WCD_MBHC_ADC config REGMAP_SWR Loading Loading @@ -933,9 +931,11 @@ config SND_SOC_WCD_MBHC config SND_SOC_WCD_MBHC_LEGACY tristate select SND_SOC_WCD_MBHC config SND_SOC_WCD_MBHC_ADC tristate select SND_SOC_WCD_MBHC config SND_SOC_WCD_DSP_MGR tristate Loading
sound/soc/codecs/Makefile +5 −3 Original line number Diff line number Diff line Loading @@ -172,10 +172,12 @@ ifeq ($(CONFIG_COMMON_CLK_QCOM), y) endif snd-soc-wcd-cpe-objs := wcd_cpe_services.o wcd_cpe_core.o snd-soc-wsa881x-objs := wsa881x.o wsa881x-tables.o wsa881x-regmap.o wsa881x-temp-sensor.o snd-soc-wcd-mbhc-objs := wcd-mbhc-v2.o ifneq (,$(filter $(CONFIG_SND_SOC_WCD_MBHC_LEGACY),y m)) snd-soc-wcd-mbhc-objs := wcd-mbhc-v2.o wcd-mbhc-legacy.o else ifneq (,$(filter $(CONFIG_SND_SOC_WCD_MBHC_ADC),y m)) snd-soc-wcd-mbhc-objs := wcd-mbhc-v2.o wcd-mbhc-adc.o snd-soc-wcd-mbhc-objs += wcd-mbhc-legacy.o endif ifneq (,$(filter $(CONFIG_SND_SOC_WCD_MBHC_ADC),y m)) snd-soc-wcd-mbhc-objs += wcd-mbhc-adc.o endif snd-soc-wsa881x-analog-objs := wsa881x-analog.o wsa881x-tables-analog.o snd-soc-wsa881x-analog-objs += wsa881x-regmap-analog.o wsa881x-irq.o Loading
sound/soc/codecs/sdm660_cdc/Kconfig +0 −1 Original line number Diff line number Diff line config SND_SOC_SDM660_CDC tristate "MSM Internal PMIC based codec" select SND_SOC_WCD_MBHC select SND_SOC_WCD_MBHC_LEGACY
sound/soc/codecs/wcd-mbhc-v2.c +3 −3 Original line number Diff line number Diff line Loading @@ -1108,7 +1108,7 @@ static irqreturn_t wcd_mbhc_release_handler(int irq, void *data) * For ADC MBHC, ADC_COMPLETE interrupt will be generated * in this case. So skip the check here. */ if (!WCD_MBHC_DETECTION && if (mbhc->mbhc_detection_logic == WCD_DETECTION_LEGACY && mbhc->current_plug == MBHC_PLUG_TYPE_HEADPHONE) { wcd_mbhc_find_plug_and_report(mbhc, MBHC_PLUG_TYPE_HEADSET); goto exit; Loading Loading @@ -1922,7 +1922,7 @@ int wcd_mbhc_init(struct wcd_mbhc *mbhc, struct snd_soc_codec *codec, init_waitqueue_head(&mbhc->wait_btn_press); mutex_init(&mbhc->codec_resource_lock); switch (WCD_MBHC_DETECTION) { switch (mbhc->mbhc_detection_logic) { case WCD_DETECTION_LEGACY: wcd_mbhc_legacy_init(mbhc); break; Loading @@ -1931,7 +1931,7 @@ int wcd_mbhc_init(struct wcd_mbhc *mbhc, struct snd_soc_codec *codec, break; default: pr_err("%s: Unknown detection logic type %d\n", __func__, WCD_MBHC_DETECTION); __func__, mbhc->mbhc_detection_logic); break; } Loading
sound/soc/codecs/wcd-mbhc-v2.h +3 −6 Original line number Diff line number Diff line Loading @@ -157,12 +157,6 @@ enum wcd_mbhc_detect_logic { WCD_DETECTION_ADC, }; #if IS_ENABLED(CONFIG_SND_SOC_WCD_MBHC_ADC) #define WCD_MBHC_DETECTION WCD_DETECTION_ADC #else #define WCD_MBHC_DETECTION WCD_DETECTION_LEGACY #endif enum wcd_mbhc_cs_mb_en_flag { WCD_MBHC_EN_CS = 0, WCD_MBHC_EN_MB, Loading Loading @@ -565,6 +559,9 @@ struct wcd_mbhc { struct mutex hphl_pa_lock; struct mutex hphr_pa_lock; /* Holds mbhc detection method - ADC/Legacy */ unsigned int mbhc_detection_logic; unsigned long intr_status; bool is_hph_ocp_pending; Loading