diff options
author | Felipe Balbi <balbi@ti.com> | 2013-01-28 16:08:28 +0100 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2013-03-18 10:16:58 +0100 |
commit | 0324f25fc66cd94273d0aa67637ed260ff70f01e (patch) | |
tree | e901c9baa0b0e36be75bcfce2ae0fcd97c820bef /drivers/usb/gadget/fusb300_udc.c | |
parent | usb: gadget: fsl_udc_core: switch over to usb_gadget_map/unmap_request() (diff) | |
download | linux-0324f25fc66cd94273d0aa67637ed260ff70f01e.tar.xz linux-0324f25fc66cd94273d0aa67637ed260ff70f01e.zip |
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 2d3c8b351f42..5c9dd064767f 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) |