diff options
author | Felipe Balbi <balbi@ti.com> | 2013-01-28 17:08:28 +0200 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2013-03-18 11:16:58 +0200 |
commit | 0324f25fc66cd94273d0aa67637ed260ff70f01e (patch) | |
tree | e901c9baa0b0e36be75bcfce2ae0fcd97c820bef /drivers/usb/gadget/fusb300_udc.c | |
parent | 5f6da778578de6b7c43b943cf9cfba12289e9ff3 (diff) | |
download | op-kernel-dev-0324f25fc66cd94273d0aa67637ed260ff70f01e.zip op-kernel-dev-0324f25fc66cd94273d0aa67637ed260ff70f01e.tar.gz |
usb: gadget: fusb300: 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/fusb300_udc.c')
-rw-r--r-- | drivers/usb/gadget/fusb300_udc.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/drivers/usb/gadget/fusb300_udc.c b/drivers/usb/gadget/fusb300_udc.c index 2d3c8b3..5c9dd06 100644 --- a/drivers/usb/gadget/fusb300_udc.c +++ b/drivers/usb/gadget/fusb300_udc.c @@ -938,25 +938,22 @@ IDMA_RESET: static void fusb300_set_idma(struct fusb300_ep *ep, struct fusb300_request *req) { - dma_addr_t d; + int ret; - d = dma_map_single(NULL, req->req.buf, req->req.length, DMA_TO_DEVICE); - - if (dma_mapping_error(NULL, d)) { - printk(KERN_DEBUG "dma_mapping_error\n"); + ret = usb_gadget_map_request(&ep->fusb300->gadget, + &req->req, DMA_TO_DEVICE); + if (ret) return; - } - - dma_sync_single_for_device(NULL, d, req->req.length, DMA_TO_DEVICE); fusb300_enable_bit(ep->fusb300, FUSB300_OFFSET_IGER0, FUSB300_IGER0_EEPn_PRD_INT(ep->epnum)); - fusb300_fill_idma_prdtbl(ep, d, req->req.length); + fusb300_fill_idma_prdtbl(ep, req->req.dma, req->req.length); /* check idma is done */ fusb300_wait_idma_finished(ep); - dma_unmap_single(NULL, d, req->req.length, DMA_TO_DEVICE); + usb_gadget_unmap_request(&ep->fusb300->gadget, + &req->req, DMA_TO_DEVICE); } static void in_ep_fifo_handler(struct fusb300_ep *ep) |