Commit 304f7e5e1d08fa2f5674c1323bd0ebd806c86b81

Authored by Michal Sojka
Committed by Greg Kroah-Hartman
1 parent 3fc2aa5522

usb: gadget: Refactor request completion

Use the recently introduced usb_gadget_giveback_request() in favor of
direct invocation of the completion routine.

All places in drivers/usb/ matching "[-.]complete(" were replaced with a
call to usb_gadget_giveback_request(). This was compile-tested with all
ARM drivers enabled and runtime-tested for musb.

Signed-off-by: Michal Sojka <sojka@merica.cz>
Acked-by: Felipe Balbi <balbi@ti.com>
Tested-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Showing 29 changed files with 41 additions and 56 deletions Side-by-side Diff

drivers/usb/chipidea/udc.c
... ... @@ -627,7 +627,7 @@
627 627  
628 628 if (hwreq->req.complete != NULL) {
629 629 spin_unlock(hwep->lock);
630   - hwreq->req.complete(&hwep->ep, &hwreq->req);
  630 + usb_gadget_giveback_request(&hwep->ep, &hwreq->req);
631 631 spin_lock(hwep->lock);
632 632 }
633 633 }
... ... @@ -922,7 +922,7 @@
922 922 if ((hwep->type == USB_ENDPOINT_XFER_CONTROL) &&
923 923 hwreq->req.length)
924 924 hweptemp = hwep->ci->ep0in;
925   - hwreq->req.complete(&hweptemp->ep, &hwreq->req);
  925 + usb_gadget_giveback_request(&hweptemp->ep, &hwreq->req);
926 926 spin_lock(hwep->lock);
927 927 }
928 928 }
... ... @@ -1347,7 +1347,7 @@
1347 1347  
1348 1348 if (hwreq->req.complete != NULL) {
1349 1349 spin_unlock(hwep->lock);
1350   - hwreq->req.complete(&hwep->ep, &hwreq->req);
  1350 + usb_gadget_giveback_request(&hwep->ep, &hwreq->req);
1351 1351 spin_lock(hwep->lock);
1352 1352 }
1353 1353  
drivers/usb/dwc2/gadget.c
... ... @@ -1004,8 +1004,8 @@
1004 1004 hs_req = ep->req;
1005 1005 ep->req = NULL;
1006 1006 list_del_init(&hs_req->queue);
1007   - hs_req->req.complete(&ep->ep,
1008   - &hs_req->req);
  1007 + usb_gadget_giveback_request(&ep->ep,
  1008 + &hs_req->req);
1009 1009 }
1010 1010  
1011 1011 /* If we have pending request, then start it */
... ... @@ -1262,7 +1262,7 @@
1262 1262  
1263 1263 if (hs_req->req.complete) {
1264 1264 spin_unlock(&hsotg->lock);
1265   - hs_req->req.complete(&hs_ep->ep, &hs_req->req);
  1265 + usb_gadget_giveback_request(&hs_ep->ep, &hs_req->req);
1266 1266 spin_lock(&hsotg->lock);
1267 1267 }
1268 1268  
drivers/usb/dwc3/gadget.c
... ... @@ -270,7 +270,7 @@
270 270 trace_dwc3_gadget_giveback(req);
271 271  
272 272 spin_unlock(&dwc->lock);
273   - req->request.complete(&dep->endpoint, &req->request);
  273 + usb_gadget_giveback_request(&dep->endpoint, &req->request);
274 274 spin_lock(&dwc->lock);
275 275 }
276 276  
drivers/usb/gadget/udc/amd5536udc.c
... ... @@ -841,7 +841,7 @@
841 841 &req->req, req->req.length, ep->ep.name, sts);
842 842  
843 843 spin_unlock(&dev->lock);
844   - req->req.complete(&ep->ep, &req->req);
  844 + usb_gadget_giveback_request(&ep->ep, &req->req);
845 845 spin_lock(&dev->lock);
846 846 ep->halted = halted;
847 847 }
drivers/usb/gadget/udc/at91_udc.c
... ... @@ -267,7 +267,7 @@
267 267  
268 268 ep->stopped = 1;
269 269 spin_unlock(&udc->lock);
270   - req->req.complete(&ep->ep, &req->req);
  270 + usb_gadget_giveback_request(&ep->ep, &req->req);
271 271 spin_lock(&udc->lock);
272 272 ep->stopped = stopped;
273 273  
drivers/usb/gadget/udc/atmel_usba_udc.c
... ... @@ -463,7 +463,7 @@
463 463 list_del_init(&req->queue);
464 464 usba_ep_writel(ep, CTL_DIS, USBA_RX_BK_RDY);
465 465 spin_unlock(&udc->lock);
466   - req->req.complete(&ep->ep, &req->req);
  466 + usb_gadget_giveback_request(&ep->ep, &req->req);
467 467 spin_lock(&udc->lock);
468 468 }
469 469  
... ... @@ -495,7 +495,7 @@
495 495 ep->ep.name, req, req->req.status, req->req.actual);
496 496  
497 497 spin_unlock(&udc->lock);
498   - req->req.complete(&ep->ep, &req->req);
  498 + usb_gadget_giveback_request(&ep->ep, &req->req);
499 499 spin_lock(&udc->lock);
500 500 }
501 501  
drivers/usb/gadget/udc/bcm63xx_udc.c
... ... @@ -1088,7 +1088,7 @@
1088 1088 breq->req.status = -ESHUTDOWN;
1089 1089  
1090 1090 spin_unlock_irqrestore(&udc->lock, flags);
1091   - breq->req.complete(&iudma->bep->ep, &breq->req);
  1091 + usb_gadget_giveback_request(&iudma->bep->ep, &breq->req);
1092 1092 spin_lock_irqsave(&udc->lock, flags);
1093 1093 }
1094 1094 }
drivers/usb/gadget/udc/dummy_hcd.c
... ... @@ -258,7 +258,7 @@
258 258 req->req.status = -ESHUTDOWN;
259 259  
260 260 spin_unlock(&dum->lock);
261   - req->req.complete(&ep->ep, &req->req);
  261 + usb_gadget_giveback_request(&ep->ep, &req->req);
262 262 spin_lock(&dum->lock);
263 263 }
264 264 }
... ... @@ -658,7 +658,7 @@
658 658 spin_unlock(&dum->lock);
659 659 _req->actual = _req->length;
660 660 _req->status = 0;
661   - _req->complete(_ep, _req);
  661 + usb_gadget_giveback_request(_ep, _req);
662 662 spin_lock(&dum->lock);
663 663 } else
664 664 list_add_tail(&req->queue, &ep->queue);
... ... @@ -702,7 +702,7 @@
702 702 dev_dbg(udc_dev(dum),
703 703 "dequeued req %p from %s, len %d buf %p\n",
704 704 req, _ep->name, _req->length, _req->buf);
705   - _req->complete(_ep, _req);
  705 + usb_gadget_giveback_request(_ep, _req);
706 706 }
707 707 local_irq_restore(flags);
708 708 return retval;
... ... @@ -1385,7 +1385,7 @@
1385 1385 list_del_init(&req->queue);
1386 1386  
1387 1387 spin_unlock(&dum->lock);
1388   - req->req.complete(&ep->ep, &req->req);
  1388 + usb_gadget_giveback_request(&ep->ep, &req->req);
1389 1389 spin_lock(&dum->lock);
1390 1390  
1391 1391 /* requests might have been unlinked... */
... ... @@ -1761,7 +1761,7 @@
1761 1761 req);
1762 1762  
1763 1763 spin_unlock(&dum->lock);
1764   - req->req.complete(&ep->ep, &req->req);
  1764 + usb_gadget_giveback_request(&ep->ep, &req->req);
1765 1765 spin_lock(&dum->lock);
1766 1766 ep->already_seen = 0;
1767 1767 goto restart;
drivers/usb/gadget/udc/fotg210-udc.c
... ... @@ -70,7 +70,7 @@
70 70 req->req.status = status;
71 71  
72 72 spin_unlock(&ep->fotg210->lock);
73   - req->req.complete(&ep->ep, &req->req);
  73 + usb_gadget_giveback_request(&ep->ep, &req->req);
74 74 spin_lock(&ep->fotg210->lock);
75 75  
76 76 if (ep->epnum) {
drivers/usb/gadget/udc/fsl_qe_udc.c
... ... @@ -118,10 +118,7 @@
118 118 ep->stopped = 1;
119 119 spin_unlock(&udc->lock);
120 120  
121   - /* this complete() should a func implemented by gadget layer,
122   - * eg fsg->bulk_in_complete() */
123   - if (req->req.complete)
124   - req->req.complete(&ep->ep, &req->req);
  121 + usb_gadget_giveback_request(&ep->ep, &req->req);
125 122  
126 123 spin_lock(&udc->lock);
127 124  
drivers/usb/gadget/udc/fsl_udc_core.c
... ... @@ -197,10 +197,8 @@
197 197 ep->stopped = 1;
198 198  
199 199 spin_unlock(&ep->udc->lock);
200   - /* complete() is from gadget layer,
201   - * eg fsg->bulk_in_complete() */
202   - if (req->req.complete)
203   - req->req.complete(&ep->ep, &req->req);
  200 +
  201 + usb_gadget_giveback_request(&ep->ep, &req->req);
204 202  
205 203 spin_lock(&ep->udc->lock);
206 204 ep->stopped = stopped;
drivers/usb/gadget/udc/fusb300_udc.c
... ... @@ -876,7 +876,7 @@
876 876 req->req.status = status;
877 877  
878 878 spin_unlock(&ep->fusb300->lock);
879   - req->req.complete(&ep->ep, &req->req);
  879 + usb_gadget_giveback_request(&ep->ep, &req->req);
880 880 spin_lock(&ep->fusb300->lock);
881 881  
882 882 if (ep->epnum) {
drivers/usb/gadget/udc/goku_udc.c
... ... @@ -320,7 +320,7 @@
320 320 /* don't modify queue heads during completion callback */
321 321 ep->stopped = 1;
322 322 spin_unlock(&dev->lock);
323   - req->req.complete(&ep->ep, &req->req);
  323 + usb_gadget_giveback_request(&ep->ep, &req->req);
324 324 spin_lock(&dev->lock);
325 325 ep->stopped = stopped;
326 326 }
drivers/usb/gadget/udc/gr_udc.c
... ... @@ -357,7 +357,7 @@
357 357 } else if (req->req.complete) {
358 358 spin_unlock(&dev->lock);
359 359  
360   - req->req.complete(&ep->ep, &req->req);
  360 + usb_gadget_giveback_request(&ep->ep, &req->req);
361 361  
362 362 spin_lock(&dev->lock);
363 363 }
drivers/usb/gadget/udc/lpc32xx_udc.c
... ... @@ -1479,7 +1479,7 @@
1479 1479  
1480 1480 ep->req_pending = 0;
1481 1481 spin_unlock(&udc->lock);
1482   - req->req.complete(&ep->ep, &req->req);
  1482 + usb_gadget_giveback_request(&ep->ep, &req->req);
1483 1483 spin_lock(&udc->lock);
1484 1484 }
1485 1485  
drivers/usb/gadget/udc/m66592-udc.c
... ... @@ -729,7 +729,7 @@
729 729 restart = 1;
730 730  
731 731 spin_unlock(&ep->m66592->lock);
732   - req->req.complete(&ep->ep, &req->req);
  732 + usb_gadget_giveback_request(&ep->ep, &req->req);
733 733 spin_lock(&ep->m66592->lock);
734 734  
735 735 if (restart) {
drivers/usb/gadget/udc/mv_u3d_core.c
... ... @@ -222,12 +222,8 @@
222 222 }
223 223  
224 224 spin_unlock(&ep->u3d->lock);
225   - /*
226   - * complete() is from gadget layer,
227   - * eg fsg->bulk_in_complete()
228   - */
229   - if (req->req.complete)
230   - req->req.complete(&ep->ep, &req->req);
  225 +
  226 + usb_gadget_giveback_request(&ep->ep, &req->req);
231 227  
232 228 spin_lock(&ep->u3d->lock);
233 229 }
drivers/usb/gadget/udc/mv_udc_core.c
... ... @@ -248,12 +248,8 @@
248 248 ep->stopped = 1;
249 249  
250 250 spin_unlock(&ep->udc->lock);
251   - /*
252   - * complete() is from gadget layer,
253   - * eg fsg->bulk_in_complete()
254   - */
255   - if (req->req.complete)
256   - req->req.complete(&ep->ep, &req->req);
  251 +
  252 + usb_gadget_giveback_request(&ep->ep, &req->req);
257 253  
258 254 spin_lock(&ep->udc->lock);
259 255 ep->stopped = stopped;
drivers/usb/gadget/udc/net2272.c
... ... @@ -394,7 +394,7 @@
394 394 /* don't modify queue heads during completion callback */
395 395 ep->stopped = 1;
396 396 spin_unlock(&dev->lock);
397   - req->req.complete(&ep->ep, &req->req);
  397 + usb_gadget_giveback_request(&ep->ep, &req->req);
398 398 spin_lock(&dev->lock);
399 399 ep->stopped = stopped;
400 400 }
drivers/usb/gadget/udc/net2280.c
... ... @@ -928,7 +928,7 @@
928 928 /* don't modify queue heads during completion callback */
929 929 ep->stopped = 1;
930 930 spin_unlock(&dev->lock);
931   - req->req.complete(&ep->ep, &req->req);
  931 + usb_gadget_giveback_request(&ep->ep, &req->req);
932 932 spin_lock(&dev->lock);
933 933 ep->stopped = stopped;
934 934 }
drivers/usb/gadget/udc/omap_udc.c
... ... @@ -315,7 +315,7 @@
315 315 /* don't modify queue heads during completion callback */
316 316 ep->stopped = 1;
317 317 spin_unlock(&ep->udc->lock);
318   - req->req.complete(&ep->ep, &req->req);
  318 + usb_gadget_giveback_request(&ep->ep, &req->req);
319 319 spin_lock(&ep->udc->lock);
320 320 ep->stopped = stopped;
321 321 }
drivers/usb/gadget/udc/pch_udc.c
... ... @@ -1490,7 +1490,7 @@
1490 1490 spin_unlock(&dev->lock);
1491 1491 if (!ep->in)
1492 1492 pch_udc_ep_clear_rrdy(ep);
1493   - req->req.complete(&ep->ep, &req->req);
  1493 + usb_gadget_giveback_request(&ep->ep, &req->req);
1494 1494 spin_lock(&dev->lock);
1495 1495 ep->halted = halted;
1496 1496 }
drivers/usb/gadget/udc/pxa25x_udc.c
... ... @@ -347,7 +347,7 @@
347 347  
348 348 /* don't modify queue heads during completion callback */
349 349 ep->stopped = 1;
350   - req->req.complete(&ep->ep, &req->req);
  350 + usb_gadget_giveback_request(&ep->ep, &req->req);
351 351 ep->stopped = stopped;
352 352 }
353 353  
drivers/usb/gadget/udc/pxa27x_udc.c
... ... @@ -758,7 +758,7 @@
758 758 if (pflags)
759 759 spin_unlock_irqrestore(&ep->lock, *pflags);
760 760 local_irq_save(flags);
761   - req->req.complete(&req->udc_usb_ep->usb_ep, &req->req);
  761 + usb_gadget_giveback_request(&req->udc_usb_ep->usb_ep, &req->req);
762 762 local_irq_restore(flags);
763 763 if (pflags)
764 764 spin_lock_irqsave(&ep->lock, *pflags);
drivers/usb/gadget/udc/r8a66597-udc.c
... ... @@ -925,7 +925,7 @@
925 925 sudmac_free_channel(ep->r8a66597, ep, req);
926 926  
927 927 spin_unlock(&ep->r8a66597->lock);
928   - req->req.complete(&ep->ep, &req->req);
  928 + usb_gadget_giveback_request(&ep->ep, &req->req);
929 929 spin_lock(&ep->r8a66597->lock);
930 930  
931 931 if (restart) {
drivers/usb/gadget/udc/s3c-hsudc.c
... ... @@ -258,8 +258,7 @@
258 258  
259 259 hsep->stopped = 1;
260 260 spin_unlock(&hsudc->lock);
261   - if (hsreq->req.complete != NULL)
262   - hsreq->req.complete(&hsep->ep, &hsreq->req);
  261 + usb_gadget_giveback_request(&hsep->ep, &hsreq->req);
263 262 spin_lock(&hsudc->lock);
264 263 hsep->stopped = stopped;
265 264 }
drivers/usb/gadget/udc/s3c2410_udc.c
... ... @@ -272,7 +272,7 @@
272 272 status = req->req.status;
273 273  
274 274 ep->halted = 1;
275   - req->req.complete(&ep->ep, &req->req);
  275 + usb_gadget_giveback_request(&ep->ep, &req->req);
276 276 ep->halted = halted;
277 277 }
278 278  
drivers/usb/musb/musb_gadget.c
... ... @@ -176,7 +176,7 @@
176 176 ep->end_point.name, request,
177 177 req->request.actual, req->request.length,
178 178 request->status);
179   - req->request.complete(&req->ep->end_point, &req->request);
  179 + usb_gadget_giveback_request(&req->ep->end_point, &req->request);
180 180 spin_lock(&musb->lock);
181 181 ep->busy = busy;
182 182 }
drivers/usb/renesas_usbhs/mod_gadget.c
... ... @@ -129,7 +129,7 @@
129 129 dev_dbg(dev, "pipe %d : queue pop\n", usbhs_pipe_number(pipe));
130 130  
131 131 ureq->req.status = status;
132   - ureq->req.complete(&uep->ep, &ureq->req);
  132 + usb_gadget_giveback_request(&uep->ep, &ureq->req);
133 133 }
134 134  
135 135 static void usbhsg_queue_done(struct usbhs_priv *priv, struct usbhs_pkt *pkt)