usb: gadget: udc: core: add usb_gadget_{un}map_request_by_dev()
[deliverable/linux.git] / drivers / usb / gadget / udc / udc-core.c
index c6e76465065a345e262af286211c0441bf99366c..6e8300d6a7372043ded9916c540fbd2d4c6b05fd 100644 (file)
@@ -61,11 +61,9 @@ static int udc_bind_to_driver(struct usb_udc *udc,
 
 #ifdef CONFIG_HAS_DMA
 
-int usb_gadget_map_request(struct usb_gadget *gadget,
+int usb_gadget_map_request_by_dev(struct device *dev,
                struct usb_request *req, int is_in)
 {
-       struct device *dev = gadget->dev.parent;
-
        if (req->length == 0)
                return 0;
 
@@ -92,24 +90,38 @@ int usb_gadget_map_request(struct usb_gadget *gadget,
 
        return 0;
 }
+EXPORT_SYMBOL_GPL(usb_gadget_map_request_by_dev);
+
+int usb_gadget_map_request(struct usb_gadget *gadget,
+               struct usb_request *req, int is_in)
+{
+       return usb_gadget_map_request_by_dev(gadget->dev.parent, req, is_in);
+}
 EXPORT_SYMBOL_GPL(usb_gadget_map_request);
 
-void usb_gadget_unmap_request(struct usb_gadget *gadget,
+void usb_gadget_unmap_request_by_dev(struct device *dev,
                struct usb_request *req, int is_in)
 {
        if (req->length == 0)
                return;
 
        if (req->num_mapped_sgs) {
-               dma_unmap_sg(gadget->dev.parent, req->sg, req->num_mapped_sgs,
+               dma_unmap_sg(dev, req->sg, req->num_mapped_sgs,
                                is_in ? DMA_TO_DEVICE : DMA_FROM_DEVICE);
 
                req->num_mapped_sgs = 0;
        } else {
-               dma_unmap_single(gadget->dev.parent, req->dma, req->length,
+               dma_unmap_single(dev, req->dma, req->length,
                                is_in ? DMA_TO_DEVICE : DMA_FROM_DEVICE);
        }
 }
+EXPORT_SYMBOL_GPL(usb_gadget_unmap_request_by_dev);
+
+void usb_gadget_unmap_request(struct usb_gadget *gadget,
+               struct usb_request *req, int is_in)
+{
+       usb_gadget_unmap_request_by_dev(gadget->dev.parent, req, is_in);
+}
 EXPORT_SYMBOL_GPL(usb_gadget_unmap_request);
 
 #endif /* CONFIG_HAS_DMA */
This page took 0.025579 seconds and 5 git commands to generate.