Loading drivers/usb/gadget/function/f_mbim.c +11 −7 Original line number Original line Diff line number Diff line Loading @@ -1143,7 +1143,7 @@ static int mbim_set_alt(struct usb_function *f, unsigned intf, unsigned alt) * disconnect * disconnect */ */ switch (mbim->xport) { switch (mbim->xport) { case USB_GADGET_XPORT_BAM: case USB_GADGET_XPORT_BAM_DMUX: gbam_mbim_disconnect(); gbam_mbim_disconnect(); break; break; case USB_GADGET_XPORT_BAM2BAM_IPA: case USB_GADGET_XPORT_BAM2BAM_IPA: Loading Loading @@ -1197,7 +1197,7 @@ static int mbim_set_alt(struct usb_function *f, unsigned intf, unsigned alt) pr_debug("Activate mbim\n"); pr_debug("Activate mbim\n"); switch (mbim->xport) { switch (mbim->xport) { case USB_GADGET_XPORT_BAM: case USB_GADGET_XPORT_BAM_DMUX: gbam_mbim_connect(cdev->gadget, mbim->bam_port.in, gbam_mbim_connect(cdev->gadget, mbim->bam_port.in, mbim->bam_port.out); mbim->bam_port.out); break; break; Loading Loading @@ -1284,7 +1284,7 @@ static void mbim_disable(struct usb_function *f) } } switch (mbim->xport) { switch (mbim->xport) { case USB_GADGET_XPORT_BAM: case USB_GADGET_XPORT_BAM_DMUX: gbam_mbim_disconnect(); gbam_mbim_disconnect(); break; break; case USB_GADGET_XPORT_BAM2BAM_IPA: case USB_GADGET_XPORT_BAM2BAM_IPA: Loading Loading @@ -1315,7 +1315,7 @@ static void mbim_suspend(struct usb_function *f) pr_debug("%s(): remote_wakeup:%d\n:", __func__, pr_debug("%s(): remote_wakeup:%d\n:", __func__, mbim->cdev->gadget->remote_wakeup); mbim->cdev->gadget->remote_wakeup); if (mbim->xport == USB_GADGET_XPORT_BAM) if (mbim->xport == USB_GADGET_XPORT_BAM_DMUX) return; return; /* If the function is in Function Suspend state, avoid suspending the /* If the function is in Function Suspend state, avoid suspending the Loading Loading @@ -1350,7 +1350,7 @@ static void mbim_resume(struct usb_function *f) pr_info("mbim resumed\n"); pr_info("mbim resumed\n"); if (mbim->xport == USB_GADGET_XPORT_BAM) if (mbim->xport == USB_GADGET_XPORT_BAM_DMUX) return; return; /* /* Loading Loading @@ -1660,7 +1660,11 @@ int mbim_bind_config(struct usb_configuration *c, unsigned portno, mbim->xport = str_to_xport(xport_name); mbim->xport = str_to_xport(xport_name); switch (mbim->xport) { switch (mbim->xport) { case USB_GADGET_XPORT_BAM: case USB_GADGET_XPORT_BAM2BAM: /* Override BAM2BAM to BAM_DMUX for old ABI compatibility */ mbim->xport = USB_GADGET_XPORT_BAM_DMUX; /* fall-through */ case USB_GADGET_XPORT_BAM_DMUX: status = gbam_mbim_setup(); status = gbam_mbim_setup(); if (status) if (status) break; break; Loading Loading @@ -1995,7 +1999,7 @@ static long mbim_ioctl(struct file *fp, unsigned cmd, unsigned long arg) } } switch (mbim->xport) { switch (mbim->xport) { case USB_GADGET_XPORT_BAM: case USB_GADGET_XPORT_BAM_DMUX: /* /* * Rmnet and MBIM share the same BAM-DMUX channel. * Rmnet and MBIM share the same BAM-DMUX channel. * This channel number 8 should be in sync with * This channel number 8 should be in sync with Loading drivers/usb/gadget/function/f_qdss.c +7 −7 Original line number Original line Diff line number Diff line Loading @@ -512,7 +512,7 @@ static void usb_qdss_disconnect_work(struct work_struct *work) gqti_ctrl_disconnect(&qdss->port, DPL_QTI_CTRL_PORT_NO); gqti_ctrl_disconnect(&qdss->port, DPL_QTI_CTRL_PORT_NO); switch (dxport) { switch (dxport) { case USB_GADGET_XPORT_BAM: case USB_GADGET_XPORT_BAM2BAM: /* /* * Uninitialized init data i.e. ep specific operation. * Uninitialized init data i.e. ep specific operation. * Notify qdss to cancel all active transfers. * Notify qdss to cancel all active transfers. Loading Loading @@ -543,7 +543,7 @@ static void usb_qdss_disconnect_work(struct work_struct *work) break; break; case USB_GADGET_XPORT_BAM_DMUX: case USB_GADGET_XPORT_BAM_DMUX: gbam_disconnect(&qdss_ports[qdss->port_num].bam_dmux_port, gbam_disconnect(&qdss_ports[qdss->port_num].bam_dmux_port, portno, USB_GADGET_XPORT_BAM); portno, USB_GADGET_XPORT_BAM_DMUX); break; break; case USB_GADGET_XPORT_HSIC: case USB_GADGET_XPORT_HSIC: pr_debug("usb_qdss_disconnect_work: HSIC transport\n"); pr_debug("usb_qdss_disconnect_work: HSIC transport\n"); Loading Loading @@ -696,7 +696,7 @@ static void usb_qdss_connect_work(struct work_struct *work) } } switch (dxport) { switch (dxport) { case USB_GADGET_XPORT_BAM: case USB_GADGET_XPORT_BAM2BAM: status = init_data(qdss->port.data); status = init_data(qdss->port.data); if (status) { if (status) { pr_err("init_data error"); pr_err("init_data error"); Loading Loading @@ -736,7 +736,7 @@ static void usb_qdss_connect_work(struct work_struct *work) qdss_ports[qdss->port_num].bam_dmux_port.in = qdss_ports[qdss->port_num].bam_dmux_port.in = qdss->port.data; qdss->port.data; status = gbam_connect(&qdss_ports[qdss->port_num].bam_dmux_port, status = gbam_connect(&qdss_ports[qdss->port_num].bam_dmux_port, port_num, USB_GADGET_XPORT_BAM, 0, 0); port_num, USB_GADGET_XPORT_BAM_DMUX, 0, 0); if (status) if (status) pr_err("BAM_DMUX connect failed with %d\n", status); pr_err("BAM_DMUX connect failed with %d\n", status); break; break; Loading Loading @@ -891,7 +891,7 @@ static int qdss_bind_config(struct usb_configuration *c, unsigned char portno) } } } } if (qdss_ports[portno].data_xport == USB_GADGET_XPORT_BAM) if (qdss_ports[portno].data_xport == USB_GADGET_XPORT_BAM2BAM) name = kasprintf(GFP_ATOMIC, "qdss"); name = kasprintf(GFP_ATOMIC, "qdss"); else else name = kasprintf(GFP_ATOMIC, "qdss%d", portno); name = kasprintf(GFP_ATOMIC, "qdss%d", portno); Loading Loading @@ -1218,10 +1218,10 @@ static int qdss_init_port(const char *ctrl_name, const char *data_name, } } switch (qdss_port->data_xport) { switch (qdss_port->data_xport) { case USB_GADGET_XPORT_BAM: case USB_GADGET_XPORT_BAM2BAM: qdss_port->data_xport_num = no_data_bam_ports; qdss_port->data_xport_num = no_data_bam_ports; no_data_bam_ports++; no_data_bam_ports++; pr_debug("USB_GADGET_XPORT_BAM %d\n", no_data_bam_ports); pr_debug("USB_GADGET_XPORT_BAM2BAM %d\n", no_data_bam_ports); break; break; case USB_GADGET_XPORT_BAM2BAM_IPA: case USB_GADGET_XPORT_BAM2BAM_IPA: qdss_port->data_xport_num = no_ipa_ports; qdss_port->data_xport_num = no_ipa_ports; Loading drivers/usb/gadget/function/f_rmnet.c +9 −6 Original line number Original line Diff line number Diff line Loading @@ -425,7 +425,7 @@ static int gport_rmnet_connect(struct f_rmnet *dev, unsigned intf) port_num = rmnet_ports[dev->port_num].data_xport_num; port_num = rmnet_ports[dev->port_num].data_xport_num; switch (dxport) { switch (dxport) { case USB_GADGET_XPORT_BAM: case USB_GADGET_XPORT_BAM_DMUX: ret = gbam_connect(&dev->port, port_num, ret = gbam_connect(&dev->port, port_num, dxport, src_connection_idx, dst_connection_idx); dxport, src_connection_idx, dst_connection_idx); if (ret) { if (ret) { Loading Loading @@ -529,7 +529,7 @@ static int gport_rmnet_disconnect(struct f_rmnet *dev) port_num = rmnet_ports[dev->port_num].data_xport_num; port_num = rmnet_ports[dev->port_num].data_xport_num; switch (dxport) { switch (dxport) { case USB_GADGET_XPORT_BAM: case USB_GADGET_XPORT_BAM_DMUX: case USB_GADGET_XPORT_BAM2BAM_IPA: case USB_GADGET_XPORT_BAM2BAM_IPA: gbam_disconnect(&dev->port, port_num, dxport); gbam_disconnect(&dev->port, port_num, dxport); break; break; Loading Loading @@ -606,7 +606,7 @@ static void frmnet_suspend(struct usb_function *f) port_num = rmnet_ports[dev->port_num].data_xport_num; port_num = rmnet_ports[dev->port_num].data_xport_num; switch (dxport) { switch (dxport) { case USB_GADGET_XPORT_BAM: case USB_GADGET_XPORT_BAM_DMUX: break; break; case USB_GADGET_XPORT_BAM2BAM_IPA: case USB_GADGET_XPORT_BAM2BAM_IPA: if (remote_wakeup_allowed) { if (remote_wakeup_allowed) { Loading Loading @@ -660,7 +660,7 @@ static void frmnet_resume(struct usb_function *f) port_num = rmnet_ports[dev->port_num].data_xport_num; port_num = rmnet_ports[dev->port_num].data_xport_num; switch (dxport) { switch (dxport) { case USB_GADGET_XPORT_BAM: case USB_GADGET_XPORT_BAM_DMUX: break; break; case USB_GADGET_XPORT_BAM2BAM_IPA: case USB_GADGET_XPORT_BAM2BAM_IPA: if (remote_wakeup_allowed) { if (remote_wakeup_allowed) { Loading Loading @@ -1432,11 +1432,14 @@ static int frmnet_init_port(const char *ctrl_name, const char *data_name, } } switch (rmnet_port->data_xport) { switch (rmnet_port->data_xport) { case USB_GADGET_XPORT_BAM: case USB_GADGET_XPORT_BAM2BAM: /* Override BAM2BAM to BAM_DMUX for old ABI compatibility */ rmnet_port->data_xport = USB_GADGET_XPORT_BAM_DMUX; /* fall-through */ case USB_GADGET_XPORT_BAM_DMUX: rmnet_port->data_xport_num = no_data_bam_ports; rmnet_port->data_xport_num = no_data_bam_ports; no_data_bam_ports++; no_data_bam_ports++; break; break; case USB_GADGET_XPORT_BAM2BAM: case USB_GADGET_XPORT_BAM2BAM_IPA: case USB_GADGET_XPORT_BAM2BAM_IPA: rmnet_port->data_xport_num = no_data_bam2bam_ports; rmnet_port->data_xport_num = no_data_bam2bam_ports; no_data_bam2bam_ports++; no_data_bam2bam_ports++; Loading drivers/usb/gadget/function/u_bam.c +9 −9 Original line number Original line Diff line number Diff line Loading @@ -1961,7 +1961,7 @@ void gbam_disconnect(struct grmnet *gr, u8 port_num, enum transport_type trans) pr_err("%s: invalid xport#%d\n", __func__, trans); pr_err("%s: invalid xport#%d\n", __func__, trans); return; return; } } if (trans == USB_GADGET_XPORT_BAM && if (trans == USB_GADGET_XPORT_BAM_DMUX && port_num >= n_bam_ports) { port_num >= n_bam_ports) { pr_err("%s: invalid bam portno#%d\n", pr_err("%s: invalid bam portno#%d\n", __func__, port_num); __func__, port_num); Loading @@ -1979,7 +1979,7 @@ void gbam_disconnect(struct grmnet *gr, u8 port_num, enum transport_type trans) pr_err("%s: grmnet port is null\n", __func__); pr_err("%s: grmnet port is null\n", __func__); return; return; } } if (trans == USB_GADGET_XPORT_BAM) if (trans == USB_GADGET_XPORT_BAM_DMUX) port = bam_ports[port_num].port; port = bam_ports[port_num].port; else else port = bam2bam_ports[port_num]; port = bam2bam_ports[port_num]; Loading Loading @@ -2009,7 +2009,7 @@ void gbam_disconnect(struct grmnet *gr, u8 port_num, enum transport_type trans) port->port_usb = gr; port->port_usb = gr; if (trans == USB_GADGET_XPORT_BAM) if (trans == USB_GADGET_XPORT_BAM_DMUX) gbam_free_buffers(port); gbam_free_buffers(port); else if (trans == USB_GADGET_XPORT_BAM2BAM_IPA) else if (trans == USB_GADGET_XPORT_BAM2BAM_IPA) gbam_free_rx_buffers(port); gbam_free_rx_buffers(port); Loading Loading @@ -2100,7 +2100,7 @@ int gbam_connect(struct grmnet *gr, u8 port_num, return -EINVAL; return -EINVAL; } } if (trans == USB_GADGET_XPORT_BAM && port_num >= n_bam_ports) { if (trans == USB_GADGET_XPORT_BAM_DMUX && port_num >= n_bam_ports) { pr_err("%s: invalid portno#%d\n", __func__, port_num); pr_err("%s: invalid portno#%d\n", __func__, port_num); return -ENODEV; return -ENODEV; } } Loading @@ -2111,7 +2111,7 @@ int gbam_connect(struct grmnet *gr, u8 port_num, return -ENODEV; return -ENODEV; } } if (trans == USB_GADGET_XPORT_BAM) if (trans == USB_GADGET_XPORT_BAM_DMUX) port = bam_ports[port_num].port; port = bam_ports[port_num].port; else else port = bam2bam_ports[port_num]; port = bam2bam_ports[port_num]; Loading Loading @@ -2167,7 +2167,7 @@ int gbam_connect(struct grmnet *gr, u8 port_num, d->tx_req->no_interrupt = 1; d->tx_req->no_interrupt = 1; } } if (d->trans == USB_GADGET_XPORT_BAM) { if (d->trans == USB_GADGET_XPORT_BAM_DMUX) { d->to_host = 0; d->to_host = 0; d->to_modem = 0; d->to_modem = 0; d->pending_pkts_with_bam = 0; d->pending_pkts_with_bam = 0; Loading Loading @@ -2437,7 +2437,7 @@ int gbam_mbim_connect(struct usb_gadget *g, struct usb_ep *in, gr->out = out; gr->out = out; gr->gadget = g; gr->gadget = g; return gbam_connect(gr, 0, USB_GADGET_XPORT_BAM, 0, 0); return gbam_connect(gr, 0, USB_GADGET_XPORT_BAM_DMUX, 0, 0); } } void gbam_mbim_disconnect(void) void gbam_mbim_disconnect(void) Loading @@ -2450,7 +2450,7 @@ void gbam_mbim_disconnect(void) return; return; } } gbam_disconnect(gr, 0, USB_GADGET_XPORT_BAM); gbam_disconnect(gr, 0, USB_GADGET_XPORT_BAM_DMUX); kfree(gr); kfree(gr); } } Loading @@ -2459,7 +2459,7 @@ int gbam_mbim_setup(void) int ret = 0; int ret = 0; /* /* * MBIM requires only 1 USB_GADGET_XPORT_BAM * MBIM requires only 1 USB_GADGET_XPORT_BAM_DMUX * port. The port is always 0 and is shared * port. The port is always 0 and is shared * between RMNET and MBIM. * between RMNET and MBIM. */ */ Loading drivers/usb/gadget/function/u_ctrl_qti.c +1 −2 Original line number Original line Diff line number Diff line Loading @@ -199,8 +199,7 @@ int gqti_ctrl_connect(void *gr, u8 port_num, unsigned intf, spin_lock_irqsave(&port->lock, flags); spin_lock_irqsave(&port->lock, flags); port->gtype = gtype; port->gtype = gtype; if (dxport == USB_GADGET_XPORT_BAM || if (dxport == USB_GADGET_XPORT_BAM_DMUX) { dxport == USB_GADGET_XPORT_BAM_DMUX) { /* /* * BAM-DMUX data transport is used for RMNET and DPL * BAM-DMUX data transport is used for RMNET and DPL * on some targets where IPA is not available. * on some targets where IPA is not available. Loading Loading
drivers/usb/gadget/function/f_mbim.c +11 −7 Original line number Original line Diff line number Diff line Loading @@ -1143,7 +1143,7 @@ static int mbim_set_alt(struct usb_function *f, unsigned intf, unsigned alt) * disconnect * disconnect */ */ switch (mbim->xport) { switch (mbim->xport) { case USB_GADGET_XPORT_BAM: case USB_GADGET_XPORT_BAM_DMUX: gbam_mbim_disconnect(); gbam_mbim_disconnect(); break; break; case USB_GADGET_XPORT_BAM2BAM_IPA: case USB_GADGET_XPORT_BAM2BAM_IPA: Loading Loading @@ -1197,7 +1197,7 @@ static int mbim_set_alt(struct usb_function *f, unsigned intf, unsigned alt) pr_debug("Activate mbim\n"); pr_debug("Activate mbim\n"); switch (mbim->xport) { switch (mbim->xport) { case USB_GADGET_XPORT_BAM: case USB_GADGET_XPORT_BAM_DMUX: gbam_mbim_connect(cdev->gadget, mbim->bam_port.in, gbam_mbim_connect(cdev->gadget, mbim->bam_port.in, mbim->bam_port.out); mbim->bam_port.out); break; break; Loading Loading @@ -1284,7 +1284,7 @@ static void mbim_disable(struct usb_function *f) } } switch (mbim->xport) { switch (mbim->xport) { case USB_GADGET_XPORT_BAM: case USB_GADGET_XPORT_BAM_DMUX: gbam_mbim_disconnect(); gbam_mbim_disconnect(); break; break; case USB_GADGET_XPORT_BAM2BAM_IPA: case USB_GADGET_XPORT_BAM2BAM_IPA: Loading Loading @@ -1315,7 +1315,7 @@ static void mbim_suspend(struct usb_function *f) pr_debug("%s(): remote_wakeup:%d\n:", __func__, pr_debug("%s(): remote_wakeup:%d\n:", __func__, mbim->cdev->gadget->remote_wakeup); mbim->cdev->gadget->remote_wakeup); if (mbim->xport == USB_GADGET_XPORT_BAM) if (mbim->xport == USB_GADGET_XPORT_BAM_DMUX) return; return; /* If the function is in Function Suspend state, avoid suspending the /* If the function is in Function Suspend state, avoid suspending the Loading Loading @@ -1350,7 +1350,7 @@ static void mbim_resume(struct usb_function *f) pr_info("mbim resumed\n"); pr_info("mbim resumed\n"); if (mbim->xport == USB_GADGET_XPORT_BAM) if (mbim->xport == USB_GADGET_XPORT_BAM_DMUX) return; return; /* /* Loading Loading @@ -1660,7 +1660,11 @@ int mbim_bind_config(struct usb_configuration *c, unsigned portno, mbim->xport = str_to_xport(xport_name); mbim->xport = str_to_xport(xport_name); switch (mbim->xport) { switch (mbim->xport) { case USB_GADGET_XPORT_BAM: case USB_GADGET_XPORT_BAM2BAM: /* Override BAM2BAM to BAM_DMUX for old ABI compatibility */ mbim->xport = USB_GADGET_XPORT_BAM_DMUX; /* fall-through */ case USB_GADGET_XPORT_BAM_DMUX: status = gbam_mbim_setup(); status = gbam_mbim_setup(); if (status) if (status) break; break; Loading Loading @@ -1995,7 +1999,7 @@ static long mbim_ioctl(struct file *fp, unsigned cmd, unsigned long arg) } } switch (mbim->xport) { switch (mbim->xport) { case USB_GADGET_XPORT_BAM: case USB_GADGET_XPORT_BAM_DMUX: /* /* * Rmnet and MBIM share the same BAM-DMUX channel. * Rmnet and MBIM share the same BAM-DMUX channel. * This channel number 8 should be in sync with * This channel number 8 should be in sync with Loading
drivers/usb/gadget/function/f_qdss.c +7 −7 Original line number Original line Diff line number Diff line Loading @@ -512,7 +512,7 @@ static void usb_qdss_disconnect_work(struct work_struct *work) gqti_ctrl_disconnect(&qdss->port, DPL_QTI_CTRL_PORT_NO); gqti_ctrl_disconnect(&qdss->port, DPL_QTI_CTRL_PORT_NO); switch (dxport) { switch (dxport) { case USB_GADGET_XPORT_BAM: case USB_GADGET_XPORT_BAM2BAM: /* /* * Uninitialized init data i.e. ep specific operation. * Uninitialized init data i.e. ep specific operation. * Notify qdss to cancel all active transfers. * Notify qdss to cancel all active transfers. Loading Loading @@ -543,7 +543,7 @@ static void usb_qdss_disconnect_work(struct work_struct *work) break; break; case USB_GADGET_XPORT_BAM_DMUX: case USB_GADGET_XPORT_BAM_DMUX: gbam_disconnect(&qdss_ports[qdss->port_num].bam_dmux_port, gbam_disconnect(&qdss_ports[qdss->port_num].bam_dmux_port, portno, USB_GADGET_XPORT_BAM); portno, USB_GADGET_XPORT_BAM_DMUX); break; break; case USB_GADGET_XPORT_HSIC: case USB_GADGET_XPORT_HSIC: pr_debug("usb_qdss_disconnect_work: HSIC transport\n"); pr_debug("usb_qdss_disconnect_work: HSIC transport\n"); Loading Loading @@ -696,7 +696,7 @@ static void usb_qdss_connect_work(struct work_struct *work) } } switch (dxport) { switch (dxport) { case USB_GADGET_XPORT_BAM: case USB_GADGET_XPORT_BAM2BAM: status = init_data(qdss->port.data); status = init_data(qdss->port.data); if (status) { if (status) { pr_err("init_data error"); pr_err("init_data error"); Loading Loading @@ -736,7 +736,7 @@ static void usb_qdss_connect_work(struct work_struct *work) qdss_ports[qdss->port_num].bam_dmux_port.in = qdss_ports[qdss->port_num].bam_dmux_port.in = qdss->port.data; qdss->port.data; status = gbam_connect(&qdss_ports[qdss->port_num].bam_dmux_port, status = gbam_connect(&qdss_ports[qdss->port_num].bam_dmux_port, port_num, USB_GADGET_XPORT_BAM, 0, 0); port_num, USB_GADGET_XPORT_BAM_DMUX, 0, 0); if (status) if (status) pr_err("BAM_DMUX connect failed with %d\n", status); pr_err("BAM_DMUX connect failed with %d\n", status); break; break; Loading Loading @@ -891,7 +891,7 @@ static int qdss_bind_config(struct usb_configuration *c, unsigned char portno) } } } } if (qdss_ports[portno].data_xport == USB_GADGET_XPORT_BAM) if (qdss_ports[portno].data_xport == USB_GADGET_XPORT_BAM2BAM) name = kasprintf(GFP_ATOMIC, "qdss"); name = kasprintf(GFP_ATOMIC, "qdss"); else else name = kasprintf(GFP_ATOMIC, "qdss%d", portno); name = kasprintf(GFP_ATOMIC, "qdss%d", portno); Loading Loading @@ -1218,10 +1218,10 @@ static int qdss_init_port(const char *ctrl_name, const char *data_name, } } switch (qdss_port->data_xport) { switch (qdss_port->data_xport) { case USB_GADGET_XPORT_BAM: case USB_GADGET_XPORT_BAM2BAM: qdss_port->data_xport_num = no_data_bam_ports; qdss_port->data_xport_num = no_data_bam_ports; no_data_bam_ports++; no_data_bam_ports++; pr_debug("USB_GADGET_XPORT_BAM %d\n", no_data_bam_ports); pr_debug("USB_GADGET_XPORT_BAM2BAM %d\n", no_data_bam_ports); break; break; case USB_GADGET_XPORT_BAM2BAM_IPA: case USB_GADGET_XPORT_BAM2BAM_IPA: qdss_port->data_xport_num = no_ipa_ports; qdss_port->data_xport_num = no_ipa_ports; Loading
drivers/usb/gadget/function/f_rmnet.c +9 −6 Original line number Original line Diff line number Diff line Loading @@ -425,7 +425,7 @@ static int gport_rmnet_connect(struct f_rmnet *dev, unsigned intf) port_num = rmnet_ports[dev->port_num].data_xport_num; port_num = rmnet_ports[dev->port_num].data_xport_num; switch (dxport) { switch (dxport) { case USB_GADGET_XPORT_BAM: case USB_GADGET_XPORT_BAM_DMUX: ret = gbam_connect(&dev->port, port_num, ret = gbam_connect(&dev->port, port_num, dxport, src_connection_idx, dst_connection_idx); dxport, src_connection_idx, dst_connection_idx); if (ret) { if (ret) { Loading Loading @@ -529,7 +529,7 @@ static int gport_rmnet_disconnect(struct f_rmnet *dev) port_num = rmnet_ports[dev->port_num].data_xport_num; port_num = rmnet_ports[dev->port_num].data_xport_num; switch (dxport) { switch (dxport) { case USB_GADGET_XPORT_BAM: case USB_GADGET_XPORT_BAM_DMUX: case USB_GADGET_XPORT_BAM2BAM_IPA: case USB_GADGET_XPORT_BAM2BAM_IPA: gbam_disconnect(&dev->port, port_num, dxport); gbam_disconnect(&dev->port, port_num, dxport); break; break; Loading Loading @@ -606,7 +606,7 @@ static void frmnet_suspend(struct usb_function *f) port_num = rmnet_ports[dev->port_num].data_xport_num; port_num = rmnet_ports[dev->port_num].data_xport_num; switch (dxport) { switch (dxport) { case USB_GADGET_XPORT_BAM: case USB_GADGET_XPORT_BAM_DMUX: break; break; case USB_GADGET_XPORT_BAM2BAM_IPA: case USB_GADGET_XPORT_BAM2BAM_IPA: if (remote_wakeup_allowed) { if (remote_wakeup_allowed) { Loading Loading @@ -660,7 +660,7 @@ static void frmnet_resume(struct usb_function *f) port_num = rmnet_ports[dev->port_num].data_xport_num; port_num = rmnet_ports[dev->port_num].data_xport_num; switch (dxport) { switch (dxport) { case USB_GADGET_XPORT_BAM: case USB_GADGET_XPORT_BAM_DMUX: break; break; case USB_GADGET_XPORT_BAM2BAM_IPA: case USB_GADGET_XPORT_BAM2BAM_IPA: if (remote_wakeup_allowed) { if (remote_wakeup_allowed) { Loading Loading @@ -1432,11 +1432,14 @@ static int frmnet_init_port(const char *ctrl_name, const char *data_name, } } switch (rmnet_port->data_xport) { switch (rmnet_port->data_xport) { case USB_GADGET_XPORT_BAM: case USB_GADGET_XPORT_BAM2BAM: /* Override BAM2BAM to BAM_DMUX for old ABI compatibility */ rmnet_port->data_xport = USB_GADGET_XPORT_BAM_DMUX; /* fall-through */ case USB_GADGET_XPORT_BAM_DMUX: rmnet_port->data_xport_num = no_data_bam_ports; rmnet_port->data_xport_num = no_data_bam_ports; no_data_bam_ports++; no_data_bam_ports++; break; break; case USB_GADGET_XPORT_BAM2BAM: case USB_GADGET_XPORT_BAM2BAM_IPA: case USB_GADGET_XPORT_BAM2BAM_IPA: rmnet_port->data_xport_num = no_data_bam2bam_ports; rmnet_port->data_xport_num = no_data_bam2bam_ports; no_data_bam2bam_ports++; no_data_bam2bam_ports++; Loading
drivers/usb/gadget/function/u_bam.c +9 −9 Original line number Original line Diff line number Diff line Loading @@ -1961,7 +1961,7 @@ void gbam_disconnect(struct grmnet *gr, u8 port_num, enum transport_type trans) pr_err("%s: invalid xport#%d\n", __func__, trans); pr_err("%s: invalid xport#%d\n", __func__, trans); return; return; } } if (trans == USB_GADGET_XPORT_BAM && if (trans == USB_GADGET_XPORT_BAM_DMUX && port_num >= n_bam_ports) { port_num >= n_bam_ports) { pr_err("%s: invalid bam portno#%d\n", pr_err("%s: invalid bam portno#%d\n", __func__, port_num); __func__, port_num); Loading @@ -1979,7 +1979,7 @@ void gbam_disconnect(struct grmnet *gr, u8 port_num, enum transport_type trans) pr_err("%s: grmnet port is null\n", __func__); pr_err("%s: grmnet port is null\n", __func__); return; return; } } if (trans == USB_GADGET_XPORT_BAM) if (trans == USB_GADGET_XPORT_BAM_DMUX) port = bam_ports[port_num].port; port = bam_ports[port_num].port; else else port = bam2bam_ports[port_num]; port = bam2bam_ports[port_num]; Loading Loading @@ -2009,7 +2009,7 @@ void gbam_disconnect(struct grmnet *gr, u8 port_num, enum transport_type trans) port->port_usb = gr; port->port_usb = gr; if (trans == USB_GADGET_XPORT_BAM) if (trans == USB_GADGET_XPORT_BAM_DMUX) gbam_free_buffers(port); gbam_free_buffers(port); else if (trans == USB_GADGET_XPORT_BAM2BAM_IPA) else if (trans == USB_GADGET_XPORT_BAM2BAM_IPA) gbam_free_rx_buffers(port); gbam_free_rx_buffers(port); Loading Loading @@ -2100,7 +2100,7 @@ int gbam_connect(struct grmnet *gr, u8 port_num, return -EINVAL; return -EINVAL; } } if (trans == USB_GADGET_XPORT_BAM && port_num >= n_bam_ports) { if (trans == USB_GADGET_XPORT_BAM_DMUX && port_num >= n_bam_ports) { pr_err("%s: invalid portno#%d\n", __func__, port_num); pr_err("%s: invalid portno#%d\n", __func__, port_num); return -ENODEV; return -ENODEV; } } Loading @@ -2111,7 +2111,7 @@ int gbam_connect(struct grmnet *gr, u8 port_num, return -ENODEV; return -ENODEV; } } if (trans == USB_GADGET_XPORT_BAM) if (trans == USB_GADGET_XPORT_BAM_DMUX) port = bam_ports[port_num].port; port = bam_ports[port_num].port; else else port = bam2bam_ports[port_num]; port = bam2bam_ports[port_num]; Loading Loading @@ -2167,7 +2167,7 @@ int gbam_connect(struct grmnet *gr, u8 port_num, d->tx_req->no_interrupt = 1; d->tx_req->no_interrupt = 1; } } if (d->trans == USB_GADGET_XPORT_BAM) { if (d->trans == USB_GADGET_XPORT_BAM_DMUX) { d->to_host = 0; d->to_host = 0; d->to_modem = 0; d->to_modem = 0; d->pending_pkts_with_bam = 0; d->pending_pkts_with_bam = 0; Loading Loading @@ -2437,7 +2437,7 @@ int gbam_mbim_connect(struct usb_gadget *g, struct usb_ep *in, gr->out = out; gr->out = out; gr->gadget = g; gr->gadget = g; return gbam_connect(gr, 0, USB_GADGET_XPORT_BAM, 0, 0); return gbam_connect(gr, 0, USB_GADGET_XPORT_BAM_DMUX, 0, 0); } } void gbam_mbim_disconnect(void) void gbam_mbim_disconnect(void) Loading @@ -2450,7 +2450,7 @@ void gbam_mbim_disconnect(void) return; return; } } gbam_disconnect(gr, 0, USB_GADGET_XPORT_BAM); gbam_disconnect(gr, 0, USB_GADGET_XPORT_BAM_DMUX); kfree(gr); kfree(gr); } } Loading @@ -2459,7 +2459,7 @@ int gbam_mbim_setup(void) int ret = 0; int ret = 0; /* /* * MBIM requires only 1 USB_GADGET_XPORT_BAM * MBIM requires only 1 USB_GADGET_XPORT_BAM_DMUX * port. The port is always 0 and is shared * port. The port is always 0 and is shared * between RMNET and MBIM. * between RMNET and MBIM. */ */ Loading
drivers/usb/gadget/function/u_ctrl_qti.c +1 −2 Original line number Original line Diff line number Diff line Loading @@ -199,8 +199,7 @@ int gqti_ctrl_connect(void *gr, u8 port_num, unsigned intf, spin_lock_irqsave(&port->lock, flags); spin_lock_irqsave(&port->lock, flags); port->gtype = gtype; port->gtype = gtype; if (dxport == USB_GADGET_XPORT_BAM || if (dxport == USB_GADGET_XPORT_BAM_DMUX) { dxport == USB_GADGET_XPORT_BAM_DMUX) { /* /* * BAM-DMUX data transport is used for RMNET and DPL * BAM-DMUX data transport is used for RMNET and DPL * on some targets where IPA is not available. * on some targets where IPA is not available. Loading