Lines Matching refs:kctl

577 			      struct snd_kcontrol *kctl)  in snd_usb_mixer_add_control()  argument
582 while (snd_ctl_find_id(mixer->chip->card, &kctl->id)) in snd_usb_mixer_add_control()
583 kctl->id.index++; in snd_usb_mixer_add_control()
584 if ((err = snd_ctl_add(mixer->chip->card, kctl)) < 0) { in snd_usb_mixer_add_control()
589 list->kctl = kctl; in snd_usb_mixer_add_control()
833 void snd_usb_mixer_elem_free(struct snd_kcontrol *kctl) in snd_usb_mixer_elem_free() argument
835 kfree(kctl->private_data); in snd_usb_mixer_elem_free()
836 kctl->private_data = NULL; in snd_usb_mixer_elem_free()
845 struct snd_kcontrol *kctl) in volume_control_quirks() argument
851 if (strcmp(kctl->id.name, "Effect Duration") == 0) { in volume_control_quirks()
857 if (strcmp(kctl->id.name, "Effect Volume") == 0 || in volume_control_quirks()
858 strcmp(kctl->id.name, "Effect Feedback Volume") == 0) { in volume_control_quirks()
863 if (strstr(kctl->id.name, "Effect Return") != NULL) { in volume_control_quirks()
869 if ((strstr(kctl->id.name, "Playback Volume") != NULL) || in volume_control_quirks()
870 (strstr(kctl->id.name, "Effect Send") != NULL)) { in volume_control_quirks()
879 if (strcmp(kctl->id.name, "Effect Duration") == 0) { in volume_control_quirks()
887 if (strcmp(kctl->id.name, "Effect Volume") == 0 || in volume_control_quirks()
888 strcmp(kctl->id.name, "Effect Feedback Volume") == 0) { in volume_control_quirks()
906 if (!strcmp(kctl->id.name, "PCM Playback Volume") && in volume_control_quirks()
915 if (!strcmp(kctl->id.name, "Mic Capture Volume")) { in volume_control_quirks()
938 if (!strcmp(kctl->id.name, "Mic Capture Volume")) { in volume_control_quirks()
951 int default_min, struct snd_kcontrol *kctl) in get_min_max_with_quirks() argument
1033 if (kctl) in get_min_max_with_quirks()
1034 volume_control_quirks(cval, kctl); in get_min_max_with_quirks()
1190 static size_t append_ctl_name(struct snd_kcontrol *kctl, const char *str) in append_ctl_name() argument
1192 return strlcat(kctl->id.name, str, sizeof(kctl->id.name)); in append_ctl_name()
1200 static void check_no_speaker_on_headset(struct snd_kcontrol *kctl, in check_no_speaker_on_headset() argument
1208 if (strcmp("Speaker", kctl->id.name)) in check_no_speaker_on_headset()
1220 strlcpy(kctl->id.name, "Headphone", sizeof(kctl->id.name)); in check_no_speaker_on_headset()
1233 struct snd_kcontrol *kctl; in build_feature_ctl() local
1280 kctl = snd_ctl_new1(&usb_feature_unit_ctl_ro, cval); in build_feature_ctl()
1282 kctl = snd_ctl_new1(&usb_feature_unit_ctl, cval); in build_feature_ctl()
1284 if (!kctl) { in build_feature_ctl()
1289 kctl->private_free = snd_usb_mixer_elem_free; in build_feature_ctl()
1291 len = check_mapped_name(map, kctl->id.name, sizeof(kctl->id.name)); in build_feature_ctl()
1295 kctl->id.name, sizeof(kctl->id.name)); in build_feature_ctl()
1309 len = get_term_name(state, iterm, kctl->id.name, in build_feature_ctl()
1310 sizeof(kctl->id.name), 1); in build_feature_ctl()
1313 kctl->id.name, in build_feature_ctl()
1314 sizeof(kctl->id.name), 1); in build_feature_ctl()
1316 snprintf(kctl->id.name, sizeof(kctl->id.name), in build_feature_ctl()
1321 check_no_speaker_on_headset(kctl, state->mixer->chip->card); in build_feature_ctl()
1330 append_ctl_name(kctl, " Capture"); in build_feature_ctl()
1332 append_ctl_name(kctl, " Playback"); in build_feature_ctl()
1334 append_ctl_name(kctl, control == UAC_FU_MUTE ? in build_feature_ctl()
1339 strlcpy(kctl->id.name, audio_feature_info[control-1].name, in build_feature_ctl()
1340 sizeof(kctl->id.name)); in build_feature_ctl()
1345 get_min_max_with_quirks(cval, 0, kctl); in build_feature_ctl()
1350 kctl->tlv.c = snd_usb_mixer_vol_tlv; in build_feature_ctl()
1351 kctl->vd[0].access |= in build_feature_ctl()
1357 snd_usb_mixer_fu_apply_quirk(state->mixer, cval, unitid, kctl); in build_feature_ctl()
1371 cval->head.id, kctl->id.name, cval->channels, in build_feature_ctl()
1376 cval->head.id, kctl->id.name, cval->channels, in build_feature_ctl()
1378 snd_usb_mixer_add_control(&cval->head, kctl); in build_feature_ctl()
1541 struct snd_kcontrol *kctl; in build_mixer_unit_ctl() local
1567 kctl = snd_ctl_new1(&usb_feature_unit_ctl, cval); in build_mixer_unit_ctl()
1568 if (!kctl) { in build_mixer_unit_ctl()
1573 kctl->private_free = snd_usb_mixer_elem_free; in build_mixer_unit_ctl()
1575 len = check_mapped_name(map, kctl->id.name, sizeof(kctl->id.name)); in build_mixer_unit_ctl()
1577 len = get_term_name(state, iterm, kctl->id.name, in build_mixer_unit_ctl()
1578 sizeof(kctl->id.name), 0); in build_mixer_unit_ctl()
1580 len = sprintf(kctl->id.name, "Mixer Source %d", in_ch + 1); in build_mixer_unit_ctl()
1581 append_ctl_name(kctl, " Volume"); in build_mixer_unit_ctl()
1584 cval->head.id, kctl->id.name, cval->channels, cval->min, cval->max); in build_mixer_unit_ctl()
1585 snd_usb_mixer_add_control(&cval->head, kctl); in build_mixer_unit_ctl()
1790 struct snd_kcontrol *kctl; in build_audio_procunit() local
1859 kctl = snd_ctl_new1(&mixer_procunit_ctl, cval); in build_audio_procunit()
1860 if (!kctl) { in build_audio_procunit()
1864 kctl->private_free = snd_usb_mixer_elem_free; in build_audio_procunit()
1866 if (check_mapped_name(map, kctl->id.name, sizeof(kctl->id.name))) { in build_audio_procunit()
1869 strlcpy(kctl->id.name, info->name, sizeof(kctl->id.name)); in build_audio_procunit()
1875 kctl->id.name, in build_audio_procunit()
1876 sizeof(kctl->id.name)); in build_audio_procunit()
1878 strlcpy(kctl->id.name, name, sizeof(kctl->id.name)); in build_audio_procunit()
1880 append_ctl_name(kctl, " "); in build_audio_procunit()
1881 append_ctl_name(kctl, valinfo->suffix); in build_audio_procunit()
1885 cval->head.id, kctl->id.name, cval->channels, in build_audio_procunit()
1888 err = snd_usb_mixer_add_control(&cval->head, kctl); in build_audio_procunit()
1981 static void usb_mixer_selector_elem_free(struct snd_kcontrol *kctl) in usb_mixer_selector_elem_free() argument
1985 if (kctl->private_data) { in usb_mixer_selector_elem_free()
1986 struct usb_mixer_elem_info *cval = kctl->private_data; in usb_mixer_selector_elem_free()
1989 kctl->private_data = NULL; in usb_mixer_selector_elem_free()
1991 if (kctl->private_value) { in usb_mixer_selector_elem_free()
1992 char **itemlist = (char **)kctl->private_value; in usb_mixer_selector_elem_free()
1996 kctl->private_value = 0; in usb_mixer_selector_elem_free()
2010 struct snd_kcontrol *kctl; in parse_audio_selector_unit() local
2074 kctl = snd_ctl_new1(&mixer_selectunit_ctl, cval); in parse_audio_selector_unit()
2075 if (! kctl) { in parse_audio_selector_unit()
2081 kctl->private_value = (unsigned long)namelist; in parse_audio_selector_unit()
2082 kctl->private_free = usb_mixer_selector_elem_free; in parse_audio_selector_unit()
2085 len = check_mapped_name(map, kctl->id.name, sizeof(kctl->id.name)); in parse_audio_selector_unit()
2089 snd_usb_copy_string_desc(state, nameid, kctl->id.name, in parse_audio_selector_unit()
2090 sizeof(kctl->id.name)); in parse_audio_selector_unit()
2093 kctl->id.name, sizeof(kctl->id.name), 0); in parse_audio_selector_unit()
2095 strlcpy(kctl->id.name, "USB", sizeof(kctl->id.name)); in parse_audio_selector_unit()
2098 append_ctl_name(kctl, " Clock Source"); in parse_audio_selector_unit()
2100 append_ctl_name(kctl, " Capture Source"); in parse_audio_selector_unit()
2102 append_ctl_name(kctl, " Playback Source"); in parse_audio_selector_unit()
2106 cval->head.id, kctl->id.name, desc->bNrInPins); in parse_audio_selector_unit()
2107 return snd_usb_mixer_add_control(&cval->head, kctl); in parse_audio_selector_unit()
2256 &list->kctl->id); in snd_usb_mixer_notify_id()
2291 if (list->kctl) in snd_usb_mixer_proc_read()
2294 list->kctl->id.name, in snd_usb_mixer_proc_read()
2295 list->kctl->id.index); in snd_usb_mixer_proc_read()
2321 if (!list->kctl) in snd_usb_mixer_interrupt_v2()
2337 &info->head.kctl->id); in snd_usb_mixer_interrupt_v2()