struct snd_soc_jack headset_jack, hdmi_jack;
 };
 
+/* Headset jack detection DAPM pins */
+static struct snd_soc_jack_pin mt8186_jack_pins[] = {
+       {
+               .pin = "Headphones",
+               .mask = SND_JACK_HEADPHONE,
+       },
+       {
+               .pin = "Headset Mic",
+               .mask = SND_JACK_MICROPHONE,
+       },
+};
+
 static struct snd_soc_codec_conf mt8186_mt6366_da7219_max98357_codec_conf[] = {
        {
                .dlc = COMP_CODEC_CONF("mt6358-sound"),
        }
 
        /* Enable Headset and 4 Buttons Jack detection */
-       ret = snd_soc_card_jack_new(rtd->card, "Headset Jack",
+       ret = snd_soc_card_jack_new_pins(rtd->card, "Headset Jack",
                                    SND_JACK_HEADSET | SND_JACK_BTN_0 |
                                    SND_JACK_BTN_1 | SND_JACK_BTN_2 |
                                    SND_JACK_BTN_3 | SND_JACK_LINEOUT,
-                                   jack);
+                                   jack, mt8186_jack_pins,
+                                   ARRAY_SIZE(mt8186_jack_pins));
        if (ret) {
                dev_err(rtd->dev, "Headset Jack creation failed: %d\n", ret);
                return ret;