Remove duplicate function xhci_urb_to_transfer_ring from xhci.c.
We have same function in xhci-ring.c.

Signed-off-by: Alexandr Ivanov <alexandr....@gmail.com>
---
 drivers/usb/host/xhci-ring.c | 17 +++++------------
 drivers/usb/host/xhci.c      | 41 -----------------------------------------
 drivers/usb/host/xhci.h      | 11 +++++++++++
 3 files changed, 16 insertions(+), 53 deletions(-)

diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index 7cf6621..9b2e3f4 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -373,7 +373,11 @@ static void ring_doorbell_for_active_rings(struct xhci_hcd 
*xhci,
        }
 }
 
-static struct xhci_ring *xhci_triad_to_transfer_ring(struct xhci_hcd *xhci,
+/* Get the right ring for the given slot_id, ep_index and stream_id.
+ * If the endpoint supports streams, boundary check the URB's stream ID.
+ * If the endpoint doesn't support streams, return the singular endpoint ring.
+ */
+struct xhci_ring *xhci_triad_to_transfer_ring(struct xhci_hcd *xhci,
                unsigned int slot_id, unsigned int ep_index,
                unsigned int stream_id)
 {
@@ -405,17 +409,6 @@ static struct xhci_ring 
*xhci_triad_to_transfer_ring(struct xhci_hcd *xhci,
        return NULL;
 }
 
-/* Get the right ring for the given URB.
- * If the endpoint supports streams, boundary check the URB's stream ID.
- * If the endpoint doesn't support streams, return the singular endpoint ring.
- */
-static struct xhci_ring *xhci_urb_to_transfer_ring(struct xhci_hcd *xhci,
-               struct urb *urb)
-{
-       return xhci_triad_to_transfer_ring(xhci, urb->dev->slot_id,
-               xhci_get_endpoint_index(&urb->ep->desc), urb->stream_id);
-}
-
 /*
  * Move the xHC's endpoint ring dequeue pointer past cur_td.
  * Record the new state of the xHC's endpoint ring dequeue segment,
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index d51ee0c..fdfea49 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -1458,47 +1458,6 @@ free_priv:
        return ret;
 }
 
-/* Get the right ring for the given URB.
- * If the endpoint supports streams, boundary check the URB's stream ID.
- * If the endpoint doesn't support streams, return the singular endpoint ring.
- */
-static struct xhci_ring *xhci_urb_to_transfer_ring(struct xhci_hcd *xhci,
-               struct urb *urb)
-{
-       unsigned int slot_id;
-       unsigned int ep_index;
-       unsigned int stream_id;
-       struct xhci_virt_ep *ep;
-
-       slot_id = urb->dev->slot_id;
-       ep_index = xhci_get_endpoint_index(&urb->ep->desc);
-       stream_id = urb->stream_id;
-       ep = &xhci->devs[slot_id]->eps[ep_index];
-       /* Common case: no streams */
-       if (!(ep->ep_state & EP_HAS_STREAMS))
-               return ep->ring;
-
-       if (stream_id == 0) {
-               xhci_warn(xhci,
-                               "WARN: Slot ID %u, ep index %u has streams, "
-                               "but URB has no stream ID.\n",
-                               slot_id, ep_index);
-               return NULL;
-       }
-
-       if (stream_id < ep->stream_info->num_streams)
-               return ep->stream_info->stream_rings[stream_id];
-
-       xhci_warn(xhci,
-                       "WARN: Slot ID %u, ep index %u has "
-                       "stream IDs 1 to %u allocated, "
-                       "but stream ID %u is requested.\n",
-                       slot_id, ep_index,
-                       ep->stream_info->num_streams - 1,
-                       stream_id);
-       return NULL;
-}
-
 /*
  * Remove the URB's TD from the endpoint ring.  This may cause the HC to stop
  * USB transfers, potentially stopping in the middle of a TRB buffer.  The HC
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
index e293e09..f885e69 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -1963,4 +1963,15 @@ struct xhci_input_control_ctx 
*xhci_get_input_control_ctx(struct xhci_container_
 struct xhci_slot_ctx *xhci_get_slot_ctx(struct xhci_hcd *xhci, struct 
xhci_container_ctx *ctx);
 struct xhci_ep_ctx *xhci_get_ep_ctx(struct xhci_hcd *xhci, struct 
xhci_container_ctx *ctx, unsigned int ep_index);
 
+struct xhci_ring *xhci_triad_to_transfer_ring(struct xhci_hcd *xhci,
+               unsigned int slot_id, unsigned int ep_index,
+               unsigned int stream_id);
+static inline struct xhci_ring *xhci_urb_to_transfer_ring(struct xhci_hcd 
*xhci,
+                                                               struct urb *urb)
+{
+       return xhci_triad_to_transfer_ring(xhci, urb->dev->slot_id,
+                                       xhci_get_endpoint_index(&urb->ep->desc),
+                                       urb->stream_id);
+}
+
 #endif /* __LINUX_XHCI_HCD_H */
-- 
2.5.0

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to