Lines Matching refs:gctl

691 		     struct snd_emu10k1_fx8010_control_gpr *gctl,  in copy_gctl()  argument
698 return copy_from_user(gctl, &_gctl[idx], sizeof(*gctl)); in copy_gctl()
700 if (copy_from_user(gctl, &octl[idx], sizeof(*octl))) in copy_gctl()
702 gctl->tlv = NULL; in copy_gctl()
708 struct snd_emu10k1_fx8010_control_gpr *gctl, in copy_gctl_to_user() argument
714 return copy_to_user(&_gctl[idx], gctl, sizeof(*gctl)); in copy_gctl_to_user()
717 return copy_to_user(&octl[idx], gctl, sizeof(*octl)); in copy_gctl_to_user()
726 struct snd_emu10k1_fx8010_control_gpr *gctl; in snd_emu10k1_verify_controls() local
736 gctl = kmalloc(sizeof(*gctl), GFP_KERNEL); in snd_emu10k1_verify_controls()
737 if (! gctl) in snd_emu10k1_verify_controls()
741 if (copy_gctl(emu, gctl, icode->gpr_add_controls, i)) { in snd_emu10k1_verify_controls()
745 if (snd_emu10k1_look_for_ctl(emu, &gctl->id)) in snd_emu10k1_verify_controls()
748 if (snd_ctl_find_id(emu->card, &gctl->id) != NULL) { in snd_emu10k1_verify_controls()
754 if (gctl->id.iface != SNDRV_CTL_ELEM_IFACE_MIXER && in snd_emu10k1_verify_controls()
755 gctl->id.iface != SNDRV_CTL_ELEM_IFACE_PCM) { in snd_emu10k1_verify_controls()
762 if (copy_gctl(emu, gctl, icode->gpr_list_controls, i)) { in snd_emu10k1_verify_controls()
768 kfree(gctl); in snd_emu10k1_verify_controls()
787 struct snd_emu10k1_fx8010_control_gpr *gctl; in snd_emu10k1_add_controls() local
795 gctl = kmalloc(sizeof(*gctl), GFP_KERNEL); in snd_emu10k1_add_controls()
797 if (!val || !gctl || !nctl) { in snd_emu10k1_add_controls()
803 if (copy_gctl(emu, gctl, icode->gpr_add_controls, i)) { in snd_emu10k1_add_controls()
807 if (gctl->id.iface != SNDRV_CTL_ELEM_IFACE_MIXER && in snd_emu10k1_add_controls()
808 gctl->id.iface != SNDRV_CTL_ELEM_IFACE_PCM) { in snd_emu10k1_add_controls()
812 if (! gctl->id.name[0]) { in snd_emu10k1_add_controls()
816 ctl = snd_emu10k1_look_for_ctl(emu, &gctl->id); in snd_emu10k1_add_controls()
818 knew.iface = gctl->id.iface; in snd_emu10k1_add_controls()
819 knew.name = gctl->id.name; in snd_emu10k1_add_controls()
820 knew.index = gctl->id.index; in snd_emu10k1_add_controls()
821 knew.device = gctl->id.device; in snd_emu10k1_add_controls()
822 knew.subdevice = gctl->id.subdevice; in snd_emu10k1_add_controls()
824 knew.tlv.p = copy_tlv(gctl->tlv); in snd_emu10k1_add_controls()
831 nctl->vcount = gctl->vcount; in snd_emu10k1_add_controls()
832 nctl->count = gctl->count; in snd_emu10k1_add_controls()
834 nctl->gpr[j] = gctl->gpr[j]; in snd_emu10k1_add_controls()
835 nctl->value[j] = ~gctl->value[j]; /* inverted, we want to write new value in gpr_ctl_put() */ in snd_emu10k1_add_controls()
836 val->value.integer.value[j] = gctl->value[j]; in snd_emu10k1_add_controls()
838 nctl->min = gctl->min; in snd_emu10k1_add_controls()
839 nctl->max = gctl->max; in snd_emu10k1_add_controls()
840 nctl->translation = gctl->translation; in snd_emu10k1_add_controls()
870 kfree(gctl); in snd_emu10k1_add_controls()
902 struct snd_emu10k1_fx8010_control_gpr *gctl; in snd_emu10k1_list_controls() local
906 gctl = kmalloc(sizeof(*gctl), GFP_KERNEL); in snd_emu10k1_list_controls()
907 if (! gctl) in snd_emu10k1_list_controls()
914 memset(gctl, 0, sizeof(*gctl)); in snd_emu10k1_list_controls()
916 gctl->id.iface = id->iface; in snd_emu10k1_list_controls()
917 strlcpy(gctl->id.name, id->name, sizeof(gctl->id.name)); in snd_emu10k1_list_controls()
918 gctl->id.index = id->index; in snd_emu10k1_list_controls()
919 gctl->id.device = id->device; in snd_emu10k1_list_controls()
920 gctl->id.subdevice = id->subdevice; in snd_emu10k1_list_controls()
921 gctl->vcount = ctl->vcount; in snd_emu10k1_list_controls()
922 gctl->count = ctl->count; in snd_emu10k1_list_controls()
924 gctl->gpr[j] = ctl->gpr[j]; in snd_emu10k1_list_controls()
925 gctl->value[j] = ctl->value[j]; in snd_emu10k1_list_controls()
927 gctl->min = ctl->min; in snd_emu10k1_list_controls()
928 gctl->max = ctl->max; in snd_emu10k1_list_controls()
929 gctl->translation = ctl->translation; in snd_emu10k1_list_controls()
931 gctl, i)) { in snd_emu10k1_list_controls()
932 kfree(gctl); in snd_emu10k1_list_controls()
939 kfree(gctl); in snd_emu10k1_list_controls()