ASoC: mid-x86: Use the soc-jack apis for jack type detection
This patch modifies the mfld_machine to use the new jack apis for adding the voltage zones for jack type detection. It also modifed TI sn95031 codec driver to use these new apis Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Harsha Priya <priya.harsha@intel.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>hifive-unleashed-5.1
parent
4a5aa6e9ea
commit
7ae7434086
|
@ -782,9 +782,7 @@ static int sn95031_get_headset_state(struct snd_soc_jack *mfld_jack)
|
||||||
{
|
{
|
||||||
int micbias = sn95031_get_mic_bias(mfld_jack->codec);
|
int micbias = sn95031_get_mic_bias(mfld_jack->codec);
|
||||||
|
|
||||||
/* Defaulting to HEADSET for now.
|
int jack_type = snd_soc_jack_get_type(mfld_jack, micbias);
|
||||||
* will change after adding soc-jack detection apis */
|
|
||||||
int jack_type = SND_JACK_HEADSET;
|
|
||||||
|
|
||||||
pr_debug("jack type detected = %d\n", jack_type);
|
pr_debug("jack type detected = %d\n", jack_type);
|
||||||
if (jack_type == SND_JACK_HEADSET)
|
if (jack_type == SND_JACK_HEADSET)
|
||||||
|
|
|
@ -74,6 +74,12 @@ static struct snd_soc_jack_pin mfld_jack_pins[] = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* jack detection voltage zones */
|
||||||
|
static struct snd_soc_jack_zone mfld_zones[] = {
|
||||||
|
{MFLD_MV_START, MFLD_MV_AM_HS, SND_JACK_HEADPHONE},
|
||||||
|
{MFLD_MV_AM_HS, MFLD_MV_HS, SND_JACK_HEADSET},
|
||||||
|
};
|
||||||
|
|
||||||
/* sound card controls */
|
/* sound card controls */
|
||||||
static const char *headset_switch_text[] = {"Earpiece", "Headset"};
|
static const char *headset_switch_text[] = {"Earpiece", "Headset"};
|
||||||
|
|
||||||
|
@ -264,6 +270,12 @@ static int mfld_init(struct snd_soc_pcm_runtime *runtime)
|
||||||
pr_err("adding jack pins failed\n");
|
pr_err("adding jack pins failed\n");
|
||||||
return ret_val;
|
return ret_val;
|
||||||
}
|
}
|
||||||
|
ret_val = snd_soc_jack_add_zones(&mfld_jack,
|
||||||
|
ARRAY_SIZE(mfld_zones), mfld_zones);
|
||||||
|
if (ret_val) {
|
||||||
|
pr_err("adding jack zones failed\n");
|
||||||
|
return ret_val;
|
||||||
|
}
|
||||||
|
|
||||||
/* we want to check if anything is inserted at boot,
|
/* we want to check if anything is inserted at boot,
|
||||||
* so send a fake event to codec and it will read adc
|
* so send a fake event to codec and it will read adc
|
||||||
|
|
Loading…
Reference in New Issue