0. 背景
平台: android 7、 MSM8953、kernel version: msm-3.18
别问为啥要改这个,问就是硬件的坑mmp。

1. 修改方法
文件路径: kernel/msm-3.18/sound/soc/codecs/wcd-mbhc-v2.c
@@ -816,6 +816,10 @@ static void wcd_mbhc_find_plug_and_report(struct wcd_mbhc *mbhc,
__func__, mbhc->current_plug, plug_type);
WCD_MBHC_RSC_ASSERT_LOCKED(mbhc);
+ if(plug_type == MBHC_PLUG_TYPE_GND_MIC_SWAP){
+ plug_type = MBHC_PLUG_TYPE_HEADSET;
+ }
if (mbhc->current_plug == plug_type) {
pr_debug("%s: cable already reported, exit\n", __func__);
@@ -1920,6 +1924,7 @@ static bool wcd_mbhc_fw_validate(const void *data, size_t size)
static irqreturn_t wcd_mbhc_btn_press_handler(int irq, void *data)
{
+if (0){
struct wcd_mbhc *mbhc = data;
int mask;
unsigned long msec_val;
@@ -1963,9 +1968,10 @@ static irqreturn_t wcd_mbhc_btn_press_handler(int irq, void *data)
WARN(1, "Button pressed twice without release event\n");
mbhc->mbhc_cb->lock_sleep(mbhc, false);
}
-done:
pr_debug("%s: leave\n", __func__);
WCD_MBHC_RSC_UNLOCK(mbhc);
+}
+done:
return IRQ_HANDLED;
}
2. 作者注
/******
@article{Linux Audio Driver,
Author = { 1byte ≠ 8bit},
Year = { 2020},
}
******/
9568



被折叠的 条评论
为什么被折叠?



