summaryrefslogtreecommitdiffstats
path: root/drivers/usb/gadget/lpc32xx_udc.c
diff options
context:
space:
mode:
authorFelipe Balbi <balbi@ti.com>2013-01-28 17:13:27 +0200
committerFelipe Balbi <balbi@ti.com>2013-03-18 11:16:58 +0200
commit369ac9cb3e61ff9281dfec14e1e0ee4855c41352 (patch)
treea89355a5c27c0ac36cb7302595e4233aad48ffbf /drivers/usb/gadget/lpc32xx_udc.c
parent0324f25fc66cd94273d0aa67637ed260ff70f01e (diff)
downloadop-kernel-dev-369ac9cb3e61ff9281dfec14e1e0ee4855c41352.zip
op-kernel-dev-369ac9cb3e61ff9281dfec14e1e0ee4855c41352.tar.gz
usb: gadget: lpc32xx_udc: switch over to usb_gadget_map/unmap_request()
we have generic implementations for a reason, let's use them Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/gadget/lpc32xx_udc.c')
-rw-r--r--drivers/usb/gadget/lpc32xx_udc.c39
1 files changed, 4 insertions, 35 deletions
diff --git a/drivers/usb/gadget/lpc32xx_udc.c b/drivers/usb/gadget/lpc32xx_udc.c
index 67c3ef9..1478327 100644
--- a/drivers/usb/gadget/lpc32xx_udc.c
+++ b/drivers/usb/gadget/lpc32xx_udc.c
@@ -1469,23 +1469,7 @@ static void done(struct lpc32xx_ep *ep, struct lpc32xx_request *req, int status)
status = req->req.status;
if (ep->lep) {
- enum dma_data_direction direction;
-
- if (ep->is_in)
- direction = DMA_TO_DEVICE;
- else
- direction = DMA_FROM_DEVICE;
-
- if (req->mapped) {
- dma_unmap_single(ep->udc->gadget.dev.parent,
- req->req.dma, req->req.length,
- direction);
- req->req.dma = 0;
- req->mapped = 0;
- } else
- dma_sync_single_for_cpu(ep->udc->gadget.dev.parent,
- req->req.dma, req->req.length,
- direction);
+ usb_gadget_unmap_request(&udc->gadget, &req->req, ep->is_in);
/* Free DDs */
udc_dd_free(udc, req->dd_desc_ptr);
@@ -1841,26 +1825,11 @@ static int lpc32xx_ep_queue(struct usb_ep *_ep,
}
if (ep->lep) {
- enum dma_data_direction direction;
struct lpc32xx_usbd_dd_gad *dd;
- /* Map DMA pointer */
- if (ep->is_in)
- direction = DMA_TO_DEVICE;
- else
- direction = DMA_FROM_DEVICE;
-
- if (req->req.dma == 0) {
- req->req.dma = dma_map_single(
- ep->udc->gadget.dev.parent,
- req->req.buf, req->req.length, direction);
- req->mapped = 1;
- } else {
- dma_sync_single_for_device(
- ep->udc->gadget.dev.parent, req->req.dma,
- req->req.length, direction);
- req->mapped = 0;
- }
+ status = usb_gadget_map_request(&udc->gadget, _req, ep->is_in);
+ if (status)
+ return status;
/* For the request, build a list of DDs */
dd = udc_dd_alloc(udc);
OpenPOWER on IntegriCloud