What is the correct way to declare a Headset widget in a machine driver? I originally thought that by using SND_SOC_DAPM_HP macro was enough, but it's not since the headset is both headphones and microphone.
In my machine driver I have the following widget and map for headset:
SND_SOC_DAPM_HP("Headset Jack", NULL)
...
/* Headset: HSMIC (with bias), HSOL, HSOR */ {"Headset Jack", NULL, "HSOL"}, {"Headset Jack", NULL, "HSOR"}, {"HSMIC", NULL, "Headset Mic Bias"}, {"Headset Mic Bias", NULL, "Headset Jack"},
but the "Headset Mic Bias" widget never gets powered when the "Headset Jack" pin is enabled.
When the audio map is scanned, only valid routes are powered: DAC-Output, Input-DAC, Input-Output, DAC-ADC. And "Headset Jack" (declared as SND_SOC_DAPM_HP) is not a valid input endpoint, then the capture route becomes invalid.
Can we have a macro specifically for Headset widgets?
Thanks, -Misa