OSDN Git Service

Revert "usb: core: Remove helper APIs returning dcba dma address"
authorAjay Agarwal <ajaya@codeaurora.org>
Fri, 4 May 2018 04:45:01 +0000 (10:15 +0530)
committerGerrit - the friendly Code Review server <code-review@localhost>
Tue, 15 May 2018 14:17:08 +0000 (07:17 -0700)
This reverts commit 039bcf340ea35f1e5c4a81f290455570097d7d62.

Add back helper APIs to return dcba dma address.

Change-Id: Ia65e98691d1a3c241694f07215c12605832f574d
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
drivers/usb/core/hcd.c
drivers/usb/core/usb.c
include/linux/usb.h
include/linux/usb/hcd.h

index 592f45e..d7b580c 100644 (file)
@@ -2242,6 +2242,17 @@ usb_hcd_get_sec_event_ring_dma_addr(struct usb_device *udev,
 }
 
 dma_addr_t
+usb_hcd_get_dcba_dma_addr(struct usb_device *udev)
+{
+       struct usb_hcd  *hcd = bus_to_hcd(udev->bus);
+
+       if (!HCD_RH_RUNNING(hcd))
+               return 0;
+
+       return hcd->driver->get_dcba_dma_addr(hcd, udev);
+}
+
+dma_addr_t
 usb_hcd_get_xfer_ring_dma_addr(struct usb_device *udev,
                struct usb_host_endpoint *ep)
 {
index 65bf86f..e64fd65 100644 (file)
@@ -697,6 +697,16 @@ usb_get_sec_event_ring_dma_addr(struct usb_device *dev,
 }
 EXPORT_SYMBOL(usb_get_sec_event_ring_dma_addr);
 
+dma_addr_t
+usb_get_dcba_dma_addr(struct usb_device *dev)
+{
+       if (dev->state == USB_STATE_NOTATTACHED)
+               return 0;
+
+       return usb_hcd_get_dcba_dma_addr(dev);
+}
+EXPORT_SYMBOL(usb_get_dcba_dma_addr);
+
 dma_addr_t usb_get_xfer_ring_dma_addr(struct usb_device *dev,
        struct usb_host_endpoint *ep)
 {
index 1821d34..2189e29 100644 (file)
@@ -753,6 +753,7 @@ extern int usb_sec_event_ring_cleanup(struct usb_device *dev,
 extern dma_addr_t
 usb_get_sec_event_ring_dma_addr(struct usb_device *dev,
                unsigned intr_num);
+extern dma_addr_t usb_get_dcba_dma_addr(struct usb_device *dev);
 extern dma_addr_t usb_get_xfer_ring_dma_addr(struct usb_device *dev,
        struct usb_host_endpoint *ep);
 extern int usb_get_controller_id(struct usb_device *dev);
index 925401c..f603b46 100644 (file)
@@ -451,6 +451,7 @@ extern int usb_hcd_sec_event_ring_cleanup(struct usb_device *udev,
 extern dma_addr_t
 usb_hcd_get_sec_event_ring_dma_addr(struct usb_device *udev,
                unsigned intr_num);
+extern dma_addr_t usb_hcd_get_dcba_dma_addr(struct usb_device *udev);
 extern dma_addr_t
 usb_hcd_get_xfer_ring_dma_addr(struct usb_device *udev,
        struct usb_host_endpoint *ep);