Lines Matching defs:agdev
83 struct f_uac2_opts *g_audio_to_uac2_opts(struct g_audio *agdev)
85 return container_of(agdev->func.fi, struct f_uac2_opts, func_inst);
88 static int afunc_notify(struct g_audio *agdev, int unit_id, int cs);
985 static int afunc_validate_opts(struct g_audio *agdev, struct device *dev)
987 struct f_uac2_opts *opts = g_audio_to_uac2_opts(agdev);
1036 struct g_audio *agdev = func_to_g_audio(fn);
1040 struct f_uac2_opts *uac2_opts = g_audio_to_uac2_opts(agdev);
1044 ret = afunc_validate_opts(agdev, dev);
1239 agdev->out_ep = usb_ep_autoconfig(gadget, &fs_epout_desc);
1240 if (!agdev->out_ep) {
1246 agdev->in_ep_fback = usb_ep_autoconfig(gadget,
1248 if (!agdev->in_ep_fback) {
1258 agdev->in_ep = usb_ep_autoconfig(gadget, &fs_epin_desc);
1259 if (!agdev->in_ep) {
1266 agdev->in_ep_maxpsize = max_t(u16,
1269 agdev->out_ep_maxpsize = max_t(u16,
1273 agdev->in_ep_maxpsize = max_t(u16, agdev->in_ep_maxpsize,
1275 agdev->out_ep_maxpsize = max_t(u16, agdev->out_ep_maxpsize,
1298 agdev->gadget = gadget;
1300 agdev->params.p_chmask = uac2_opts->p_chmask;
1301 memcpy(agdev->params.p_srates, uac2_opts->p_srates,
1302 sizeof(agdev->params.p_srates));
1303 agdev->params.p_ssize = uac2_opts->p_ssize;
1305 agdev->params.p_fu.id = USB_IN_FU_ID;
1306 agdev->params.p_fu.mute_present = uac2_opts->p_mute_present;
1307 agdev->params.p_fu.volume_present = uac2_opts->p_volume_present;
1308 agdev->params.p_fu.volume_min = uac2_opts->p_volume_min;
1309 agdev->params.p_fu.volume_max = uac2_opts->p_volume_max;
1310 agdev->params.p_fu.volume_res = uac2_opts->p_volume_res;
1312 agdev->params.c_chmask = uac2_opts->c_chmask;
1313 memcpy(agdev->params.c_srates, uac2_opts->c_srates,
1314 sizeof(agdev->params.c_srates));
1315 agdev->params.c_ssize = uac2_opts->c_ssize;
1317 agdev->params.c_fu.id = USB_OUT_FU_ID;
1318 agdev->params.c_fu.mute_present = uac2_opts->c_mute_present;
1319 agdev->params.c_fu.volume_present = uac2_opts->c_volume_present;
1320 agdev->params.c_fu.volume_min = uac2_opts->c_volume_min;
1321 agdev->params.c_fu.volume_max = uac2_opts->c_volume_max;
1322 agdev->params.c_fu.volume_res = uac2_opts->c_volume_res;
1324 agdev->params.req_number = uac2_opts->req_number;
1325 agdev->params.fb_max = uac2_opts->fb_max;
1328 agdev->notify = afunc_notify;
1330 ret = g_audio_setup(agdev, "UAC2 PCM", "UAC2_Gadget");
1338 agdev->gadget = NULL;
1350 struct g_audio *agdev = req->context;
1351 struct f_uac2 *uac2 = func_to_uac2(&agdev->func);
1359 afunc_notify(struct g_audio *agdev, int unit_id, int cs)
1361 struct f_uac2 *uac2 = func_to_uac2(&agdev->func);
1397 req->context = agdev;
1422 struct g_audio *agdev = func_to_g_audio(fn);
1443 config_ep_by_speed(gadget, &agdev->func, uac2->int_ep);
1476 struct g_audio *agdev = func_to_g_audio(fn);
1485 dev_err(&agdev->gadget->dev,
1517 struct g_audio *agdev = func_to_g_audio(fn);
1518 struct f_uac2_opts *opts = g_audio_to_uac2_opts(agdev);
1527 u_audio_get_playback_srate(agdev, &p_srate);
1528 u_audio_get_capture_srate(agdev, &c_srate);
1547 dev_err(&agdev->gadget->dev,
1561 u_audio_get_mute(agdev, is_playback, &mute);
1571 u_audio_get_volume(agdev, is_playback, &volume);
1577 dev_err(&agdev->gadget->dev,
1582 dev_err(&agdev->gadget->dev,
1594 struct g_audio *agdev = func_to_g_audio(fn);
1595 struct f_uac2_opts *opts = g_audio_to_uac2_opts(agdev);
1626 dev_dbg(&agdev->gadget->dev,
1632 dev_dbg(&agdev->gadget->dev, "%s(): sending %d rates, size %d\n",
1636 dev_err(&agdev->gadget->dev,
1669 dev_err(&agdev->gadget->dev,
1674 dev_err(&agdev->gadget->dev,
1696 struct g_audio *agdev = func_to_g_audio(fn);
1704 dev_dbg(&agdev->gadget->dev, "%s val: %d.\n", __func__, val);
1706 u_audio_set_playback_srate(agdev, val);
1708 u_audio_set_capture_srate(agdev, val);
1715 struct g_audio *agdev = req->context;
1716 struct usb_composite_dev *cdev = agdev->func.config->cdev;
1717 struct f_uac2_opts *opts = g_audio_to_uac2_opts(agdev);
1718 struct f_uac2 *uac2 = func_to_uac2(&agdev->func);
1740 u_audio_set_mute(agdev, is_playback, mute);
1748 u_audio_set_volume(agdev, is_playback, volume);
1752 dev_err(&agdev->gadget->dev,
1765 struct g_audio *agdev = func_to_g_audio(fn);
1766 struct f_uac2_opts *opts = g_audio_to_uac2_opts(agdev);
1777 dev_dbg(&agdev->gadget->dev,
1787 req->context = agdev;
1792 dev_err(&agdev->gadget->dev,
1803 struct g_audio *agdev = func_to_g_audio(fn);
1808 dev_err(&agdev->gadget->dev,
1825 struct g_audio *agdev = func_to_g_audio(fn);
1837 dev_err(&agdev->gadget->dev, "%s:%d Error!\n",
1845 dev_err(&agdev->gadget->dev,
2188 struct g_audio *agdev;
2191 agdev = func_to_g_audio(f);
2193 kfree(agdev);
2201 struct g_audio *agdev = func_to_g_audio(f);
2203 g_audio_cleanup(agdev);
2206 agdev->gadget = NULL;