static int smdkc110_wm8994_init(struct snd_soc_codec *codec) { #if 0 debug_msg("%s\n", __FUNCTION__); /* Add smdkc110 specific controls */ for (i = 0; i < ARRAY_SIZE(wm8580_smdkc110_controls); i++) { err = snd_ctl_add(codec->card, snd_soc_cnew(&wm8580_smdkc110_controls[i], codec, NULL)); if (err < 0) return err; } /* Add smdkc110 specific widgets */ snd_soc_dapm_new_controls(codec, wm8580_dapm_widgets, ARRAY_SIZE(wm8580_dapm_widgets)); /* Set up smdkc110 specific audio path audio_map */ snd_soc_dapm_add_routes(codec, audio_map, ARRAY_SIZE(audio_map)); /* No jack detect - mark all jacks as enabled */ for (i = 0; i < ARRAY_SIZE(wm8580_dapm_widgets); i++) snd_soc_dapm_enable_pin(codec, wm8580_dapm_widgets[i].name); /* Setup Default Route */ smdkc110_play_opt = PLAY_STEREO; smdkc110_rec_opt = REC_LINE; smdkc110_ext_control(codec); #endif return 0; }
static int smdkc110_set_cs(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) { struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol); debug_msg("%s\n", __FUNCTION__); if(smdkc110_rec_opt == ucontrol->value.integer.value[0]) return 0; smdkc110_rec_opt = ucontrol->value.integer.value[0]; smdkc110_ext_control(codec); return 1; }