• Home
  • Raw
  • Download

Lines Matching refs:info

253 	if (snd_BUG_ON(!ncontrol || !ncontrol->info))  in snd_ctl_new1()
286 kctl->info = ncontrol->info; in snd_ctl_new1()
403 if (snd_BUG_ON(!card || !kcontrol->info)) in snd_ctl_add()
444 if (snd_BUG_ON(!card || !kcontrol->info)) { in snd_ctl_replace()
731 struct snd_ctl_card_info *info; in snd_ctl_card_info() local
733 info = kzalloc(sizeof(*info), GFP_KERNEL); in snd_ctl_card_info()
734 if (! info) in snd_ctl_card_info()
737 info->card = card->number; in snd_ctl_card_info()
738 strlcpy(info->id, card->id, sizeof(info->id)); in snd_ctl_card_info()
739 strlcpy(info->driver, card->driver, sizeof(info->driver)); in snd_ctl_card_info()
740 strlcpy(info->name, card->shortname, sizeof(info->name)); in snd_ctl_card_info()
741 strlcpy(info->longname, card->longname, sizeof(info->longname)); in snd_ctl_card_info()
742 strlcpy(info->mixername, card->mixername, sizeof(info->mixername)); in snd_ctl_card_info()
743 strlcpy(info->components, card->components, sizeof(info->components)); in snd_ctl_card_info()
745 if (copy_to_user(arg, info, sizeof(struct snd_ctl_card_info))) { in snd_ctl_card_info()
746 kfree(info); in snd_ctl_card_info()
749 kfree(info); in snd_ctl_card_info()
818 struct snd_ctl_elem_info *info) in snd_ctl_elem_info() argument
827 kctl = snd_ctl_find_id(card, &info->id); in snd_ctl_elem_info()
833 info->access = 0; in snd_ctl_elem_info()
835 result = kctl->info(kctl, info); in snd_ctl_elem_info()
837 snd_BUG_ON(info->access); in snd_ctl_elem_info()
838 index_offset = snd_ctl_get_ioff(kctl, &info->id); in snd_ctl_elem_info()
840 snd_ctl_build_ioff(&info->id, kctl, index_offset); in snd_ctl_elem_info()
841 info->access = vd->access; in snd_ctl_elem_info()
843 info->access |= SNDRV_CTL_ELEM_ACCESS_LOCK; in snd_ctl_elem_info()
845 info->access |= SNDRV_CTL_ELEM_ACCESS_OWNER; in snd_ctl_elem_info()
846 info->owner = pid_vnr(vd->owner->pid); in snd_ctl_elem_info()
848 info->owner = -1; in snd_ctl_elem_info()
858 struct snd_ctl_elem_info info; in snd_ctl_elem_info_user() local
861 if (copy_from_user(&info, _info, sizeof(info))) in snd_ctl_elem_info_user()
866 result = snd_ctl_elem_info(ctl, &info); in snd_ctl_elem_info_user()
869 if (copy_to_user(_info, &info, sizeof(info))) in snd_ctl_elem_info_user()
1039 struct snd_ctl_elem_info info; member
1055 *uinfo = ue->info; in snd_ctl_elem_user_info()
1072 *uinfo = ue->info; in snd_ctl_elem_user_enum_info()
1168 const uintptr_t user_ptrval = ue->info.value.enumerated.names_ptr; in snd_ctl_elem_init_enum_names()
1170 if (ue->info.value.enumerated.names_length > 64 * 1024) in snd_ctl_elem_init_enum_names()
1174 ue->info.value.enumerated.names_length); in snd_ctl_elem_init_enum_names()
1179 buf_len = ue->info.value.enumerated.names_length; in snd_ctl_elem_init_enum_names()
1181 for (i = 0; i < ue->info.value.enumerated.items; ++i) { in snd_ctl_elem_init_enum_names()
1192 ue->info.value.enumerated.names_ptr = 0; in snd_ctl_elem_init_enum_names()
1207 struct snd_ctl_elem_info *info, int replace) in snd_ctl_elem_add() argument
1235 if (!*info->id.name) in snd_ctl_elem_add()
1237 if (strnlen(info->id.name, sizeof(info->id.name)) >= sizeof(info->id.name)) in snd_ctl_elem_add()
1242 info->id.numid = 0; in snd_ctl_elem_add()
1243 err = snd_ctl_remove_user_ctl(file, &info->id); in snd_ctl_elem_add()
1256 count = info->owner; in snd_ctl_elem_add()
1261 access = info->access; in snd_ctl_elem_add()
1275 if (info->type < SNDRV_CTL_ELEM_TYPE_BOOLEAN || in snd_ctl_elem_add()
1276 info->type > SNDRV_CTL_ELEM_TYPE_INTEGER64) in snd_ctl_elem_add()
1278 if (info->type == SNDRV_CTL_ELEM_TYPE_ENUMERATED && in snd_ctl_elem_add()
1279 info->value.enumerated.items == 0) in snd_ctl_elem_add()
1281 if (info->count < 1 || in snd_ctl_elem_add()
1282 info->count > max_value_counts[info->type]) in snd_ctl_elem_add()
1284 private_size = value_sizes[info->type] * info->count; in snd_ctl_elem_add()
1295 memcpy(&kctl->id, &info->id, sizeof(kctl->id)); in snd_ctl_elem_add()
1307 ue->info = *info; in snd_ctl_elem_add()
1308 ue->info.access = 0; in snd_ctl_elem_add()
1311 if (ue->info.type == SNDRV_CTL_ELEM_TYPE_ENUMERATED) { in snd_ctl_elem_add()
1320 if (info->type == SNDRV_CTL_ELEM_TYPE_ENUMERATED) in snd_ctl_elem_add()
1321 kctl->info = snd_ctl_elem_user_enum_info; in snd_ctl_elem_add()
1323 kctl->info = snd_ctl_elem_user_info; in snd_ctl_elem_add()
1338 offset = snd_ctl_get_ioff(kctl, &info->id); in snd_ctl_elem_add()
1339 snd_ctl_build_ioff(&info->id, kctl, offset); in snd_ctl_elem_add()
1358 struct snd_ctl_elem_info info; in snd_ctl_elem_add_user() local
1361 if (copy_from_user(&info, _info, sizeof(info))) in snd_ctl_elem_add_user()
1363 err = snd_ctl_elem_add(file, &info, replace); in snd_ctl_elem_add_user()
1366 if (copy_to_user(_info, &info, sizeof(info))) { in snd_ctl_elem_add_user()
1367 snd_ctl_remove_user_ctl(file, &info.id); in snd_ctl_elem_add_user()
1889 int snd_ctl_enum_info(struct snd_ctl_elem_info *info, unsigned int channels, in snd_ctl_enum_info() argument
1892 info->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; in snd_ctl_enum_info()
1893 info->count = channels; in snd_ctl_enum_info()
1894 info->value.enumerated.items = items; in snd_ctl_enum_info()
1897 if (info->value.enumerated.item >= items) in snd_ctl_enum_info()
1898 info->value.enumerated.item = items - 1; in snd_ctl_enum_info()
1899 WARN(strlen(names[info->value.enumerated.item]) >= sizeof(info->value.enumerated.name), in snd_ctl_enum_info()
1901 names[info->value.enumerated.item]); in snd_ctl_enum_info()
1902 strlcpy(info->value.enumerated.name, in snd_ctl_enum_info()
1903 names[info->value.enumerated.item], in snd_ctl_enum_info()
1904 sizeof(info->value.enumerated.name)); in snd_ctl_enum_info()