huangcm
2024-10-12 d3acb07ae52cd1e07661d853cb07895d324a847f
longan/kernel/linux-4.9/sound/soc/sunxi/sun50iw10-sndcodec.c
....@@ -364,7 +364,8 @@
364364 regval &= ~(0x1 << JACK_DET_IIN_ST);
365365 regval |= 0x1 << JACK_DET_OUT_ST;
366366 snd_soc_write(priv->codec, SUNXI_HMIC_STS, regval);
367
- priv->detect_state = PLUG_OUT;
367
+ // priv->detect_state = PLUG_OUT;
368
+ priv->detect_state = PLUG_IN; // always plugin
368369 schedule_delayed_work(&priv->hs_detect_work,
369370 msecs_to_jiffies(10));
370371 }
....@@ -815,7 +816,7 @@
815816 * initial the parameters for judge switch state
816817 */
817818 priv->HEADSET_DATA = 0x10;
818
- priv->detect_state = PLUG_OUT;
819
+ priv->detect_state = PLUG_IN;
819820 INIT_DELAYED_WORK(&priv->hs_detect_work, sunxi_check_hs_detect_status);
820821 INIT_DELAYED_WORK(&priv->hs_button_work, sunxi_check_hs_button_status);
821822 INIT_DELAYED_WORK(&priv->hs_init_work, sunxi_hs_init_work);
....@@ -838,6 +839,8 @@
838839
839840 dev_warn(&pdev->dev, "[%s] register card finished.\n", __func__);
840841
842
+ schedule_delayed_work(&priv->hs_detect_work, msecs_to_jiffies(10));
843
+
841844 return 0;
842845
843846 err_devm_kfree: