int gport_setup(struct usb_configuration *c) { int ret = 0; int port_idx; int i; pr_debug("%s: no_tty_ports: %u no_sdio_ports: %u" " no_smd_ports: %u no_hsic_sports: %u no_hsuart_ports: %u nr_ports: %u\n", __func__, no_tty_ports, no_sdio_ports, no_smd_ports, no_hsic_sports, no_hsuart_sports, nr_ports); if (no_tty_ports) { for (i = 0; i < no_tty_ports; i++) { ret = gserial_alloc_line( &gserial_ports[i].client_port_num); if (ret) return ret; } } if (no_sdio_ports) ret = gsdio_setup(c->cdev->gadget, no_sdio_ports); if (no_smd_ports) ret = gsmd_setup(c->cdev->gadget, no_smd_ports); if (no_hsic_sports) { port_idx = ghsic_data_setup(no_hsic_sports, USB_GADGET_SERIAL); if (port_idx < 0) return port_idx; for (i = 0; i < nr_ports; i++) { if (gserial_ports[i].transport == USB_GADGET_XPORT_HSIC) { gserial_ports[i].client_port_num = port_idx; port_idx++; } } /*clinet port num is same for data setup and ctrl setup*/ ret = ghsic_ctrl_setup(no_hsic_sports, USB_GADGET_SERIAL); if (ret < 0) return ret; } if (no_hsuart_sports) { port_idx = ghsuart_data_setup(no_hsuart_sports, USB_GADGET_SERIAL); if (port_idx < 0) return port_idx; for (i = 0; i < nr_ports; i++) { if (gserial_ports[i].transport == USB_GADGET_XPORT_HSUART) { gserial_ports[i].client_port_num = port_idx; port_idx++; } } } return ret; }
static int gport_setup(struct usb_configuration *c) { int ret = 0; pr_debug("%s: no_tty_ports:%u no_sdio_ports: %u nr_ports:%u\n", __func__, no_tty_ports, no_sdio_ports, nr_ports); if (no_tty_ports) ret = gserial_setup(c->cdev->gadget, no_tty_ports); if (no_sdio_ports) ret = gsdio_setup(c->cdev->gadget, no_sdio_ports); if (no_smd_ports) ret = gsmd_setup(c->cdev->gadget, no_smd_ports); return ret; }
static int gport_setup(struct usb_composite_dev *cdev) { int ret = 0; int port_idx; int i; pr_debug("%s: no_tty_ports: %u no_sdio_ports: %u" " no_smd_ports: %u no_hsic_sports: %u nr_ports: %u\n", __func__, no_tty_ports, no_sdio_ports, no_smd_ports, no_hsic_sports, nr_ports); if (no_tty_ports) ret = gserial_setup(cdev->gadget, no_tty_ports); if (no_sdio_ports) ret = gsdio_setup(cdev->gadget, no_sdio_ports); if (no_smd_ports) ret = gsmd_setup(cdev->gadget, no_smd_ports); if (no_hsic_sports) { port_idx = ghsic_data_setup(no_hsic_sports, USB_GADGET_SERIAL); if (port_idx < 0) return port_idx; for (i = 0; i < nr_ports; i++) { if (gserial_ports[i].transport == USB_GADGET_XPORT_HSIC) { gserial_ports[i].client_port_num = port_idx; port_idx++; } } ret = ghsic_ctrl_setup(no_hsic_sports, USB_GADGET_SERIAL); if (ret < 0) return ret; return 0; } return ret; }