snd_soc_update_bits(codec, ALC5623_PWR_MANAG_ADD1, (1 << 11), (!!SND_SOC_DAPM_EVENT_ON(event))*(1<<11)); gpio_set_value_cansleep(pdata->gpio_int_mic_en, SND_SOC_DAPM_EVENT_ON(event)); printk("%s: Changing mic gpio to: %d\n", __func__, SND_SOC_DAPM_EVENT_ON(event)); return 0; } #ifdef SMBA static const struct snd_soc_dapm_widget dapm_widgets[] = { SND_SOC_DAPM_PRE("Channel Swap Detect", tegra_alc5623_event_pre_channel), SND_SOC_DAPM_SPK("Int Spk", tegra_alc5623_event_int_spk), SND_SOC_DAPM_HP("Headphone Jack", NULL), SND_SOC_DAPM_MIC("Int Mic", tegra_alc5623_event_int_mic), SND_SOC_DAPM_LINE("FM Radio", NULL), }; static const struct snd_soc_dapm_route audio_map[] = { {"Headphone Jack", NULL, "HPR"}, {"Headphone Jack", NULL, "HPL"}, {"Int Spk", NULL, "AUXOUTR"}, {"Int Spk", NULL, "AUXOUTL"}, {"Mic Bias1", NULL, "Int Mic"}, {"MIC1", NULL, "Mic Bias1"}, {"AUXINR", NULL, "FM Radio"}, {"AUXINL", NULL, "FM Radio"},
ARRAY_SIZE(es8323_right_mixer_controls)), SND_SOC_DAPM_PGA("Right Out 2", ES8323_DACPOWER, 2, 0, NULL, 0), SND_SOC_DAPM_PGA("Left Out 2", ES8323_DACPOWER, 3, 0, NULL, 0), SND_SOC_DAPM_PGA("Right Out 1", ES8323_DACPOWER, 4, 0, NULL, 0), SND_SOC_DAPM_PGA("Left Out 1", ES8323_DACPOWER, 5, 0, NULL, 0), SND_SOC_DAPM_PGA("LAMP", ES8323_ADCCONTROL1, 4, 0, NULL, 0), SND_SOC_DAPM_PGA("RAMP", ES8323_ADCCONTROL1, 0, 0, NULL, 0), SND_SOC_DAPM_OUTPUT("LOUT1"), SND_SOC_DAPM_OUTPUT("ROUT1"), SND_SOC_DAPM_OUTPUT("LOUT2"), SND_SOC_DAPM_OUTPUT("ROUT2"), SND_SOC_DAPM_OUTPUT("VREF"), SND_SOC_DAPM_PRE("PRE", es8323_dapm_pre_event), SND_SOC_DAPM_POST("POST", es8323_dapm_post_event), #endif }; static const struct snd_soc_dapm_route audio_map[] = { { "Left Line Mux", "NULL", "LINPUT1" }, { "Left Line Mux", "NULL", "LINPUT2" }, { "Left Line Mux", "NULL", "Left PGA Mux" }, { "Right Line Mux", "NULL", "RINPUT1" }, { "Right Line Mux", "NULL", "RINPUT2" }, { "Right Line Mux", "NULL", "Right PGA Mux" }, { "Left PGA Mux", "LAMP", "LINPUT1" },