Lines Matching defs:ue
1506 struct user_element *ue = kcontrol->private_data;
1510 *uinfo = ue->info;
1519 struct user_element *ue = kcontrol->private_data;
1527 *uinfo = ue->info;
1533 names = ue->priv_data;
1544 struct user_element *ue = kcontrol->private_data;
1545 unsigned int size = ue->elem_data_size;
1546 char *src = ue->elem_data +
1557 struct user_element *ue = kcontrol->private_data;
1558 unsigned int size = ue->elem_data_size;
1559 char *dst = ue->elem_data +
1572 struct user_element *ue = kctl->private_data;
1578 lockdep_assert_held_write(&ue->card->controls_rwsem);
1584 if (check_user_elem_overflow(ue->card, (ssize_t)(size - ue->tlv_data_size)))
1591 change = ue->tlv_data_size != size;
1593 change = memcmp(ue->tlv_data, container, size) != 0;
1599 if (ue->tlv_data == NULL) {
1605 ue->card->user_ctl_alloc_size -= ue->tlv_data_size;
1606 ue->tlv_data_size = 0;
1607 kvfree(ue->tlv_data);
1610 ue->tlv_data = container;
1611 ue->tlv_data_size = size;
1613 ue->card->user_ctl_alloc_size += size;
1617 snd_ctl_notify_one(ue->card, mask, kctl, i);
1625 struct user_element *ue = kctl->private_data;
1627 if (ue->tlv_data_size == 0 || ue->tlv_data == NULL)
1630 if (size < ue->tlv_data_size)
1633 if (copy_to_user(buf, ue->tlv_data, ue->tlv_data_size))
1649 static int snd_ctl_elem_init_enum_names(struct user_element *ue)
1654 const uintptr_t user_ptrval = ue->info.value.enumerated.names_ptr;
1656 lockdep_assert_held_write(&ue->card->controls_rwsem);
1658 buf_len = ue->info.value.enumerated.names_length;
1662 if (check_user_elem_overflow(ue->card, buf_len))
1670 for (i = 0; i < ue->info.value.enumerated.items; ++i) {
1680 ue->priv_data = names;
1681 ue->info.value.enumerated.names_ptr = 0;
1683 ue->card->user_ctl_alloc_size += ue->info.value.enumerated.names_length;
1695 struct user_element *ue = kcontrol->private_data;
1698 ue->card->user_ctl_alloc_size -= compute_user_elem_size(ue->elem_data_size, kcontrol->count);
1699 ue->card->user_ctl_alloc_size -= ue->tlv_data_size;
1700 if (ue->priv_data)
1701 ue->card->user_ctl_alloc_size -= ue->info.value.enumerated.names_length;
1703 kvfree(ue->tlv_data);
1704 kvfree(ue->priv_data);
1705 kfree(ue);
1717 struct user_element *ue;
1782 ue = kzalloc(alloc_size, GFP_KERNEL);
1783 if (!ue) {
1788 kctl->private_data = ue;
1795 ue->card = card;
1796 ue->info = *info;
1797 ue->info.access = 0;
1798 ue->elem_data = (char *)ue + sizeof(*ue);
1799 ue->elem_data_size = private_size;
1800 if (ue->info.type == SNDRV_CTL_ELEM_TYPE_ENUMERATED) {
1801 err = snd_ctl_elem_init_enum_names(ue);