diff options
Diffstat (limited to 'drivers/usb/gadget')
-rw-r--r-- | drivers/usb/gadget/composite.c | 5 | ||||
-rw-r--r-- | drivers/usb/gadget/dfu.c | 5 | ||||
-rw-r--r-- | drivers/usb/gadget/fsl_udc.c | 5 |
3 files changed, 9 insertions, 6 deletions
diff --git a/drivers/usb/gadget/composite.c b/drivers/usb/gadget/composite.c index fd70e623a6..44e58d7de0 100644 --- a/drivers/usb/gadget/composite.c +++ b/drivers/usb/gadget/composite.c @@ -22,6 +22,7 @@ #include <common.h> #include <errno.h> +#include <dma.h> #include <usb/composite.h> #include <asm/byteorder.h> @@ -867,7 +868,7 @@ composite_unbind(struct usb_gadget *gadget) composite->unbind(cdev); if (cdev->req) { - kfree(cdev->req->buf); + dma_free(cdev->req->buf); usb_ep_free_request(gadget->ep0, cdev->req); } kfree(cdev); @@ -911,7 +912,7 @@ static int __init composite_bind(struct usb_gadget *gadget) cdev->req = usb_ep_alloc_request(gadget->ep0); if (!cdev->req) goto fail; - cdev->req->buf = malloc(USB_BUFSIZ); + cdev->req->buf = dma_alloc(USB_BUFSIZ); if (!cdev->req->buf) goto fail; cdev->req->complete = composite_setup_complete; diff --git a/drivers/usb/gadget/dfu.c b/drivers/usb/gadget/dfu.c index f26c1e43d0..e205c65f32 100644 --- a/drivers/usb/gadget/dfu.c +++ b/drivers/usb/gadget/dfu.c @@ -40,6 +40,7 @@ * - make 'dnstate' attached to 'struct usb_device_instance' */ +#include <dma.h> #include <asm/byteorder.h> #include <usb/composite.h> #include <linux/types.h> @@ -183,7 +184,7 @@ dfu_unbind(struct usb_configuration *c, struct usb_function *f) if (gadget_is_dualspeed(c->cdev->gadget)) free(f->hs_descriptors); - free(dfu->dnreq->buf); + dma_free(dfu->dnreq->buf); usb_ep_free_request(c->cdev->gadget->ep0, dfu->dnreq); free(dfu); } @@ -602,7 +603,7 @@ static int dfu_bind_config(struct usb_configuration *c) dfu->dnreq = usb_ep_alloc_request(c->cdev->gadget->ep0); if (!dfu->dnreq) printf("usb_ep_alloc_request failed\n"); - dfu->dnreq->buf = xmalloc(CONFIG_USBD_DFU_XFER_SIZE); + dfu->dnreq->buf = dma_alloc(CONFIG_USBD_DFU_XFER_SIZE); dfu->dnreq->complete = dn_complete; dfu->dnreq->zero = 0; diff --git a/drivers/usb/gadget/fsl_udc.c b/drivers/usb/gadget/fsl_udc.c index 5b64ec2011..627e4177d6 100644 --- a/drivers/usb/gadget/fsl_udc.c +++ b/drivers/usb/gadget/fsl_udc.c @@ -1,5 +1,6 @@ #include <common.h> #include <errno.h> +#include <dma.h> #include <init.h> #include <clock.h> #include <usb/ch9.h> @@ -8,7 +9,6 @@ #include <io.h> #include <poller.h> #include <asm/byteorder.h> -#include <asm/mmu.h> /* ### define USB registers here */ @@ -2109,7 +2109,8 @@ static int struct_udc_setup(struct fsl_udc *udc, udc->status_req = container_of(fsl_alloc_request(NULL), struct fsl_req, req); /* allocate a small amount of memory to get valid address */ - udc->status_req->req.buf = xmalloc(8); + udc->status_req->req.buf = dma_alloc(8); + udc->status_req->req.length = 8; udc->resume_state = USB_STATE_NOTATTACHED; udc->usb_state = USB_STATE_POWERED; udc->ep0_dir = 0; |