Loading drivers/usb/gadget/function/f_qdss.c +6 −79 Original line number Diff line number Diff line Loading @@ -228,18 +228,11 @@ static void qdss_write_complete(struct usb_ep *ep, qdss_log("%s\n", __func__); if (qdss->debug_inface_enabled) { in = qdss->port.ctrl_in; list_pool = &qdss->ctrl_write_pool; state = USB_QDSS_CTRL_WRITE_DONE; } else { in = qdss->port.data; list_pool = &qdss->data_write_pool; state = USB_QDSS_DATA_WRITE_DONE; } spin_lock_irqsave(&qdss->lock, flags); if (!qdss->debug_inface_enabled) list_del(&qreq->list); list_add_tail(&qreq->list, list_pool); complete(&qreq->write_done); Loading Loading @@ -280,14 +273,6 @@ void usb_qdss_free_req(struct usb_qdss_ch *ch) } list_for_each_safe(act, tmp, &qdss->ctrl_write_pool) { qreq = list_entry(act, struct qdss_req, list); list_del(&qreq->list); usb_ep_free_request(qdss->port.ctrl_in, qreq->usb_req); kfree(qreq); } spin_unlock_irqrestore(&qdss->lock, flags); } EXPORT_SYMBOL(usb_qdss_free_req); Loading @@ -309,19 +294,8 @@ int usb_qdss_alloc_req(struct usb_qdss_ch *ch, int no_write_buf) return -ENODEV; } if ((qdss->debug_inface_enabled && no_write_buf <= 0) || (!qdss->debug_inface_enabled && no_write_buf <= 0)) { pr_err("%s: missing params\n", __func__); return -ENODEV; } if (qdss->debug_inface_enabled) { in = qdss->port.ctrl_in; list_pool = &qdss->ctrl_write_pool; } else { in = qdss->port.data; list_pool = &qdss->data_write_pool; } for (i = 0; i < no_write_buf; i++) { qreq = kzalloc(sizeof(struct qdss_req), GFP_KERNEL); Loading Loading @@ -794,7 +768,6 @@ static struct f_qdss *alloc_usb_qdss(char *channel_name) spin_unlock_irqrestore(&channel_lock, flags); spin_lock_init(&qdss->lock); INIT_LIST_HEAD(&qdss->ctrl_write_pool); INIT_LIST_HEAD(&qdss->data_write_pool); INIT_LIST_HEAD(&qdss->queued_data_pool); INIT_WORK(&qdss->connect_w, usb_qdss_connect_work); Loading @@ -803,52 +776,6 @@ static struct f_qdss *alloc_usb_qdss(char *channel_name) return qdss; } int usb_qdss_ctrl_write(struct usb_qdss_ch *ch, struct qdss_request *d_req) { struct f_qdss *qdss = ch->priv_usb; unsigned long flags; struct usb_request *req = NULL; struct qdss_req *qreq; qdss_log("%s\n", __func__); if (!qdss) return -ENODEV; spin_lock_irqsave(&qdss->lock, flags); if (qdss->usb_connected == 0) { spin_unlock_irqrestore(&qdss->lock, flags); return -EIO; } if (list_empty(&qdss->ctrl_write_pool)) { pr_err("error: %s list is empty\n", __func__); spin_unlock_irqrestore(&qdss->lock, flags); return -EAGAIN; } qreq = list_first_entry(&qdss->ctrl_write_pool, struct qdss_req, list); list_del(&qreq->list); spin_unlock_irqrestore(&qdss->lock, flags); qreq->qdss_req = d_req; req = qreq->usb_req; req->buf = d_req->buf; req->length = d_req->length; if (usb_ep_queue(qdss->port.ctrl_in, req, GFP_ATOMIC)) { spin_lock_irqsave(&qdss->lock, flags); list_add_tail(&qreq->list, &qdss->ctrl_write_pool); spin_unlock_irqrestore(&qdss->lock, flags); pr_err("%s usb_ep_queue failed\n", __func__); return -EIO; } return 0; } EXPORT_SYMBOL(usb_qdss_ctrl_write); int usb_qdss_write(struct usb_qdss_ch *ch, struct qdss_request *d_req) { struct f_qdss *qdss = ch->priv_usb; Loading drivers/usb/gadget/function/f_qdss.h +0 −1 Original line number Diff line number Diff line Loading @@ -50,7 +50,6 @@ struct f_qdss { bool debug_inface_enabled; struct usb_request *endless_req; struct usb_qdss_ch ch; struct list_head ctrl_write_pool; /* for mdm channel SW path */ struct list_head data_write_pool; Loading include/linux/usb/usb_qdss.h +0 −8 Original line number Diff line number Diff line Loading @@ -37,7 +37,6 @@ enum qdss_state { USB_QDSS_DISCONNECT, USB_QDSS_CTRL_READ_DONE, USB_QDSS_DATA_WRITE_DONE, USB_QDSS_CTRL_WRITE_DONE, }; struct qdss_req { Loading @@ -55,7 +54,6 @@ void usb_qdss_close(struct usb_qdss_ch *ch); int usb_qdss_alloc_req(struct usb_qdss_ch *ch, int n_write); void usb_qdss_free_req(struct usb_qdss_ch *ch); int usb_qdss_write(struct usb_qdss_ch *ch, struct qdss_request *d_req); int usb_qdss_ctrl_write(struct usb_qdss_ch *ch, struct qdss_request *d_req); #else static inline struct usb_qdss_ch *usb_qdss_open(const char *name, void *priv, void (*n)(void *, unsigned int event, Loading @@ -69,12 +67,6 @@ static inline int usb_qdss_write(struct usb_qdss_ch *c, struct qdss_request *d) return -ENODEV; } static inline int usb_qdss_ctrl_write(struct usb_qdss_ch *c, struct qdss_request *d) { return -ENODEV; } static inline int usb_qdss_alloc_req(struct usb_qdss_ch *c, int n_wr, int n_rd) { return -ENODEV; Loading Loading
drivers/usb/gadget/function/f_qdss.c +6 −79 Original line number Diff line number Diff line Loading @@ -228,18 +228,11 @@ static void qdss_write_complete(struct usb_ep *ep, qdss_log("%s\n", __func__); if (qdss->debug_inface_enabled) { in = qdss->port.ctrl_in; list_pool = &qdss->ctrl_write_pool; state = USB_QDSS_CTRL_WRITE_DONE; } else { in = qdss->port.data; list_pool = &qdss->data_write_pool; state = USB_QDSS_DATA_WRITE_DONE; } spin_lock_irqsave(&qdss->lock, flags); if (!qdss->debug_inface_enabled) list_del(&qreq->list); list_add_tail(&qreq->list, list_pool); complete(&qreq->write_done); Loading Loading @@ -280,14 +273,6 @@ void usb_qdss_free_req(struct usb_qdss_ch *ch) } list_for_each_safe(act, tmp, &qdss->ctrl_write_pool) { qreq = list_entry(act, struct qdss_req, list); list_del(&qreq->list); usb_ep_free_request(qdss->port.ctrl_in, qreq->usb_req); kfree(qreq); } spin_unlock_irqrestore(&qdss->lock, flags); } EXPORT_SYMBOL(usb_qdss_free_req); Loading @@ -309,19 +294,8 @@ int usb_qdss_alloc_req(struct usb_qdss_ch *ch, int no_write_buf) return -ENODEV; } if ((qdss->debug_inface_enabled && no_write_buf <= 0) || (!qdss->debug_inface_enabled && no_write_buf <= 0)) { pr_err("%s: missing params\n", __func__); return -ENODEV; } if (qdss->debug_inface_enabled) { in = qdss->port.ctrl_in; list_pool = &qdss->ctrl_write_pool; } else { in = qdss->port.data; list_pool = &qdss->data_write_pool; } for (i = 0; i < no_write_buf; i++) { qreq = kzalloc(sizeof(struct qdss_req), GFP_KERNEL); Loading Loading @@ -794,7 +768,6 @@ static struct f_qdss *alloc_usb_qdss(char *channel_name) spin_unlock_irqrestore(&channel_lock, flags); spin_lock_init(&qdss->lock); INIT_LIST_HEAD(&qdss->ctrl_write_pool); INIT_LIST_HEAD(&qdss->data_write_pool); INIT_LIST_HEAD(&qdss->queued_data_pool); INIT_WORK(&qdss->connect_w, usb_qdss_connect_work); Loading @@ -803,52 +776,6 @@ static struct f_qdss *alloc_usb_qdss(char *channel_name) return qdss; } int usb_qdss_ctrl_write(struct usb_qdss_ch *ch, struct qdss_request *d_req) { struct f_qdss *qdss = ch->priv_usb; unsigned long flags; struct usb_request *req = NULL; struct qdss_req *qreq; qdss_log("%s\n", __func__); if (!qdss) return -ENODEV; spin_lock_irqsave(&qdss->lock, flags); if (qdss->usb_connected == 0) { spin_unlock_irqrestore(&qdss->lock, flags); return -EIO; } if (list_empty(&qdss->ctrl_write_pool)) { pr_err("error: %s list is empty\n", __func__); spin_unlock_irqrestore(&qdss->lock, flags); return -EAGAIN; } qreq = list_first_entry(&qdss->ctrl_write_pool, struct qdss_req, list); list_del(&qreq->list); spin_unlock_irqrestore(&qdss->lock, flags); qreq->qdss_req = d_req; req = qreq->usb_req; req->buf = d_req->buf; req->length = d_req->length; if (usb_ep_queue(qdss->port.ctrl_in, req, GFP_ATOMIC)) { spin_lock_irqsave(&qdss->lock, flags); list_add_tail(&qreq->list, &qdss->ctrl_write_pool); spin_unlock_irqrestore(&qdss->lock, flags); pr_err("%s usb_ep_queue failed\n", __func__); return -EIO; } return 0; } EXPORT_SYMBOL(usb_qdss_ctrl_write); int usb_qdss_write(struct usb_qdss_ch *ch, struct qdss_request *d_req) { struct f_qdss *qdss = ch->priv_usb; Loading
drivers/usb/gadget/function/f_qdss.h +0 −1 Original line number Diff line number Diff line Loading @@ -50,7 +50,6 @@ struct f_qdss { bool debug_inface_enabled; struct usb_request *endless_req; struct usb_qdss_ch ch; struct list_head ctrl_write_pool; /* for mdm channel SW path */ struct list_head data_write_pool; Loading
include/linux/usb/usb_qdss.h +0 −8 Original line number Diff line number Diff line Loading @@ -37,7 +37,6 @@ enum qdss_state { USB_QDSS_DISCONNECT, USB_QDSS_CTRL_READ_DONE, USB_QDSS_DATA_WRITE_DONE, USB_QDSS_CTRL_WRITE_DONE, }; struct qdss_req { Loading @@ -55,7 +54,6 @@ void usb_qdss_close(struct usb_qdss_ch *ch); int usb_qdss_alloc_req(struct usb_qdss_ch *ch, int n_write); void usb_qdss_free_req(struct usb_qdss_ch *ch); int usb_qdss_write(struct usb_qdss_ch *ch, struct qdss_request *d_req); int usb_qdss_ctrl_write(struct usb_qdss_ch *ch, struct qdss_request *d_req); #else static inline struct usb_qdss_ch *usb_qdss_open(const char *name, void *priv, void (*n)(void *, unsigned int event, Loading @@ -69,12 +67,6 @@ static inline int usb_qdss_write(struct usb_qdss_ch *c, struct qdss_request *d) return -ENODEV; } static inline int usb_qdss_ctrl_write(struct usb_qdss_ch *c, struct qdss_request *d) { return -ENODEV; } static inline int usb_qdss_alloc_req(struct usb_qdss_ch *c, int n_wr, int n_rd) { return -ENODEV; Loading