Lines Matching +full:cdc +full:- +full:acm
1 // SPDX-License-Identifier: GPL-2.0+
3 * multi.c -- Multifunction Composite driver
89 [MULTI_STRING_CDC_CONFIG_IDX].s = "Multifunction with CDC ECM",
95 .language = 0x0409, /* en-us */
138 if (gadget_is_otg(c->cdev->gadget)) { in rndis_do_config()
139 c->descriptors = otg_desc; in rndis_do_config()
140 c->bmAttributes |= USB_CONFIG_ATT_WAKEUP; in rndis_do_config()
208 /********** CDC ECM **********/
220 if (gadget_is_otg(c->cdev->gadget)) { in cdc_do_config()
221 c->descriptors = otg_desc; in cdc_do_config()
222 c->bmAttributes |= USB_CONFIG_ATT_WAKEUP; in cdc_do_config()
296 struct usb_gadget *gadget = cdev->gadget; in multi_bind()
307 if (!can_support_ecm(cdev->gadget)) { in multi_bind()
308 dev_err(&gadget->dev, "controller '%s' not usable\n", in multi_bind()
309 gadget->name); in multi_bind()
310 return -EINVAL; in multi_bind()
320 gether_set_qmult(ecm_opts->net, qmult); in multi_bind()
321 if (!gether_set_host_addr(ecm_opts->net, host_addr)) in multi_bind()
323 if (!gether_set_dev_addr(ecm_opts->net, dev_addr)) in multi_bind()
336 gether_set_qmult(rndis_opts->net, qmult); in multi_bind()
337 if (!gether_set_host_addr(rndis_opts->net, host_addr)) in multi_bind()
339 if (!gether_set_dev_addr(rndis_opts->net, dev_addr)) in multi_bind()
348 * twice - in ecm's _and_ rndis' binds, so do it here. in multi_bind()
350 gether_set_gadget(ecm_opts->net, cdev->gadget); in multi_bind()
351 status = gether_register_netdev(ecm_opts->net); in multi_bind()
355 rndis_borrow_net(fi_rndis, ecm_opts->net); in multi_bind()
356 ecm_opts->bound = true; in multi_bind()
360 fi_acm = usb_get_function_instance("acm"); in multi_bind()
375 fsg_opts->no_configfs = true; in multi_bind()
376 status = fsg_common_set_num_buffers(fsg_opts->common, fsg_num_buffers); in multi_bind()
380 status = fsg_common_set_cdev(fsg_opts->common, cdev, config.can_stall); in multi_bind()
384 fsg_common_set_sysfs(fsg_opts->common, true); in multi_bind()
385 status = fsg_common_create_luns(fsg_opts->common, &config); in multi_bind()
389 fsg_common_set_inquiry_string(fsg_opts->common, config.vendor_name, in multi_bind()
403 status = -ENOMEM; in multi_bind()
422 dev_info(&gadget->dev, DRIVER_DESC "\n"); in multi_bind()
431 fsg_common_remove_luns(fsg_opts->common); in multi_bind()
433 fsg_common_free_buffers(fsg_opts->common); in multi_bind()