static int msm_new_mixer(struct snd_card *card) { unsigned int idx; int err; int dev_cnt; strcpy(card->mixername, "MSM Mixer"); for (idx = 0; idx < ARRAY_SIZE(snd_msm_controls); idx++) { err = snd_ctl_add(card, snd_ctl_new1(&snd_msm_controls[idx], NULL)); if (err < 0) MM_AUD_ERR("ERR adding ctl\n"); } dev_cnt = msm_snddev_devcount(); for (idx = 0; idx < dev_cnt; idx++) { if (!snd_dev_ctl_index(idx)) { err = snd_ctl_add(card, snd_ctl_new1( &snd_dev_controls[idx], NULL)); if (err < 0) MM_AUD_ERR("ERR adding ctl\n"); } else return 0; } simple_control = ARRAY_SIZE(snd_msm_controls); device_index = simple_control + 1; return 0; }
static int msm_new_mixer(struct snd_soc_codec *codec) { unsigned int idx; int err; int dev_cnt; strcpy(codec->card->snd_card->mixername, "MSM Mixer"); for (idx = 0; idx < ARRAY_SIZE(snd_msm_controls); idx++) { err = snd_ctl_add(codec->card->snd_card, snd_ctl_new1(&snd_msm_controls[idx], NULL)); if (err < 0) pr_err("%s:ERR adding ctl\n", __func__); } for (idx = 0; idx < ARRAY_SIZE(snd_msm_secondary_controls); idx++) { err = snd_ctl_add(codec->card->snd_card, snd_ctl_new1(&snd_msm_secondary_controls[idx], NULL)); if (err < 0) pr_err("%s:ERR adding secondary ctl\n", __func__); } dev_cnt = msm_snddev_devcount(); for (idx = 0; idx < dev_cnt; idx++) { if (!snd_dev_ctl_index(idx)) { err = snd_ctl_add(codec->card->snd_card, snd_ctl_new1(&snd_dev_controls[idx], NULL)); if (err < 0) pr_err("%s:ERR adding ctl\n", __func__); } else return 0; } simple_control = ARRAY_SIZE(snd_msm_controls) + ARRAY_SIZE(snd_msm_secondary_controls); device_index = simple_control + 1; return 0; }