/* Port A: Headphone jack Port B: MIC jack Port C: Internal MIC Port D: Dock Line Out (if enabled) Port E: Dock Line In (if enabled) Port F: Internal speakers  */
static int ad1884a_mobile_master_sw_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)
/* Port A: Headphone jack Port B: MIC jack Port C: Internal MIC Port D: Dock Line Out (if enabled) Port E: Dock Line In (if enabled) Port F: Internal speakers  */
static int ad1884a_mobile_master_sw_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)
{
	struct hda_codec *codec = snd_kcontrol_chip(kcontrol);
	int ret = snd_hda_mixer_amp_switch_put(kcontrol, ucontrol);
	int mute = (!ucontrol->value.integer.value[0] &&
		    !ucontrol->value.integer.value[1]);
	snd_hda_codec_write_cache(codec, 0x01, 0, AC_VERB_SET_GPIO_DATA,
			    mute ? 0x02 : 0x0);
	return ret;
}