Lines Matching refs:agdev
152 struct f_uac2_opts *agdev_to_uac2_opts(struct audio_dev *agdev) in agdev_to_uac2_opts() argument
154 return container_of(agdev->func.fi, struct f_uac2_opts, func_inst); in agdev_to_uac2_opts()
520 static int alsa_uac2_init(struct audio_dev *agdev) in alsa_uac2_init() argument
522 struct snd_uac2_chip *uac2 = &agdev->uac2; in alsa_uac2_init()
546 static void alsa_uac2_exit(struct audio_dev *agdev) in alsa_uac2_exit() argument
548 struct snd_uac2_chip *uac2 = &agdev->uac2; in alsa_uac2_exit()
1004 struct audio_dev *agdev = func_to_agdev(fn); in afunc_bind() local
1005 struct snd_uac2_chip *uac2 = &agdev->uac2; in afunc_bind()
1056 agdev->ac_intf = ret; in afunc_bind()
1057 agdev->ac_alt = 0; in afunc_bind()
1066 agdev->as_out_intf = ret; in afunc_bind()
1067 agdev->as_out_alt = 0; in afunc_bind()
1076 agdev->as_in_intf = ret; in afunc_bind()
1077 agdev->as_in_alt = 0; in afunc_bind()
1079 agdev->out_ep = usb_ep_autoconfig(gadget, &fs_epout_desc); in afunc_bind()
1080 if (!agdev->out_ep) { in afunc_bind()
1084 agdev->out_ep->driver_data = agdev; in afunc_bind()
1086 agdev->in_ep = usb_ep_autoconfig(gadget, &fs_epin_desc); in afunc_bind()
1087 if (!agdev->in_ep) { in afunc_bind()
1091 agdev->in_ep->driver_data = agdev; in afunc_bind()
1109 prm = &agdev->uac2.c_prm; in afunc_bind()
1117 prm = &agdev->uac2.p_prm; in afunc_bind()
1125 ret = alsa_uac2_init(agdev); in afunc_bind()
1133 kfree(agdev->uac2.p_prm.rbuf); in afunc_bind()
1134 kfree(agdev->uac2.c_prm.rbuf); in afunc_bind()
1135 if (agdev->in_ep) in afunc_bind()
1136 agdev->in_ep->driver_data = NULL; in afunc_bind()
1137 if (agdev->out_ep) in afunc_bind()
1138 agdev->out_ep->driver_data = NULL; in afunc_bind()
1146 struct audio_dev *agdev = func_to_agdev(fn); in afunc_set_alt() local
1147 struct snd_uac2_chip *uac2 = &agdev->uac2; in afunc_set_alt()
1161 if (intf == agdev->ac_intf) { in afunc_set_alt()
1170 if (intf == agdev->as_out_intf) { in afunc_set_alt()
1171 ep = agdev->out_ep; in afunc_set_alt()
1174 agdev->as_out_alt = alt; in afunc_set_alt()
1176 } else if (intf == agdev->as_in_intf) { in afunc_set_alt()
1177 struct f_uac2_opts *opts = agdev_to_uac2_opts(agdev); in afunc_set_alt()
1181 ep = agdev->in_ep; in afunc_set_alt()
1184 agdev->as_in_alt = alt; in afunc_set_alt()
1249 struct audio_dev *agdev = func_to_agdev(fn); in afunc_get_alt() local
1250 struct snd_uac2_chip *uac2 = &agdev->uac2; in afunc_get_alt()
1252 if (intf == agdev->ac_intf) in afunc_get_alt()
1253 return agdev->ac_alt; in afunc_get_alt()
1254 else if (intf == agdev->as_out_intf) in afunc_get_alt()
1255 return agdev->as_out_alt; in afunc_get_alt()
1256 else if (intf == agdev->as_in_intf) in afunc_get_alt()
1257 return agdev->as_in_alt; in afunc_get_alt()
1269 struct audio_dev *agdev = func_to_agdev(fn); in afunc_disable() local
1270 struct snd_uac2_chip *uac2 = &agdev->uac2; in afunc_disable()
1272 free_ep(&uac2->p_prm, agdev->in_ep); in afunc_disable()
1273 agdev->as_in_alt = 0; in afunc_disable()
1275 free_ep(&uac2->c_prm, agdev->out_ep); in afunc_disable()
1276 agdev->as_out_alt = 0; in afunc_disable()
1283 struct audio_dev *agdev = func_to_agdev(fn); in in_rq_cur() local
1284 struct snd_uac2_chip *uac2 = &agdev->uac2; in in_rq_cur()
1294 opts = agdev_to_uac2_opts(agdev); in in_rq_cur()
1324 struct audio_dev *agdev = func_to_agdev(fn); in in_rq_range() local
1325 struct snd_uac2_chip *uac2 = &agdev->uac2; in in_rq_range()
1336 opts = agdev_to_uac2_opts(agdev); in in_rq_range()
1390 struct audio_dev *agdev = func_to_agdev(fn); in setup_rq_inf() local
1391 struct snd_uac2_chip *uac2 = &agdev->uac2; in setup_rq_inf()
1395 if (intf != agdev->ac_intf) { in setup_rq_inf()
1413 struct audio_dev *agdev = func_to_agdev(fn); in afunc_setup() local
1414 struct snd_uac2_chip *uac2 = &agdev->uac2; in afunc_setup()
1562 struct audio_dev *agdev; in afunc_free() local
1565 agdev = func_to_agdev(f); in afunc_free()
1567 kfree(agdev); in afunc_free()
1575 struct audio_dev *agdev = func_to_agdev(f); in afunc_unbind() local
1578 alsa_uac2_exit(agdev); in afunc_unbind()
1580 prm = &agdev->uac2.p_prm; in afunc_unbind()
1583 prm = &agdev->uac2.c_prm; in afunc_unbind()
1587 if (agdev->in_ep) in afunc_unbind()
1588 agdev->in_ep->driver_data = NULL; in afunc_unbind()
1589 if (agdev->out_ep) in afunc_unbind()
1590 agdev->out_ep->driver_data = NULL; in afunc_unbind()
1595 struct audio_dev *agdev; in afunc_alloc() local
1598 agdev = kzalloc(sizeof(*agdev), GFP_KERNEL); in afunc_alloc()
1599 if (agdev == NULL) in afunc_alloc()
1607 agdev->func.name = "uac2_func"; in afunc_alloc()
1608 agdev->func.bind = afunc_bind; in afunc_alloc()
1609 agdev->func.unbind = afunc_unbind; in afunc_alloc()
1610 agdev->func.set_alt = afunc_set_alt; in afunc_alloc()
1611 agdev->func.get_alt = afunc_get_alt; in afunc_alloc()
1612 agdev->func.disable = afunc_disable; in afunc_alloc()
1613 agdev->func.setup = afunc_setup; in afunc_alloc()
1614 agdev->func.free_func = afunc_free; in afunc_alloc()
1616 return &agdev->func; in afunc_alloc()