summaryrefslogtreecommitdiff
path: root/meta/recipes-kernel/linux/linux-omap-2.6.29/musb/0017-musb_host-refactor-URB-giveback.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-kernel/linux/linux-omap-2.6.29/musb/0017-musb_host-refactor-URB-giveback.patch')
-rw-r--r--meta/recipes-kernel/linux/linux-omap-2.6.29/musb/0017-musb_host-refactor-URB-giveback.patch132
1 files changed, 0 insertions, 132 deletions
diff --git a/meta/recipes-kernel/linux/linux-omap-2.6.29/musb/0017-musb_host-refactor-URB-giveback.patch b/meta/recipes-kernel/linux/linux-omap-2.6.29/musb/0017-musb_host-refactor-URB-giveback.patch
deleted file mode 100644
index 4a520dff8..000000000
--- a/meta/recipes-kernel/linux/linux-omap-2.6.29/musb/0017-musb_host-refactor-URB-giveback.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From 013056a09afd324e729d64b9a0e66a004604e1d6 Mon Sep 17 00:00:00 2001
-From: Sergei Shtylyov <sshtylyov-hkdhdckH98+B+jHODAdFcQ@public.gmane.org>
-Date: Fri, 27 Mar 2009 12:58:31 -0700
-Subject: [PATCH] musb_host: refactor URB giveback
-
-As musb_advance_schedule() is now the only remaning
-caller of musb_giveback() (and the only valid context
-of such call), just fold the latter into the former
-and then rename __musb_giveback() into musb_giveback().
-
-This is a net minor shrink.
-
-Signed-off-by: Sergei Shtylyov <sshtylyov-hkdhdckH98+B+jHODAdFcQ@public.gmane.org>
-Signed-off-by: David Brownell <dbrownell-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
----
- drivers/usb/musb/musb_host.c | 54 +++++++++++++++--------------------------
- 1 files changed, 20 insertions(+), 34 deletions(-)
-
-diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c
-index bc89079..e833959 100644
---- a/drivers/usb/musb/musb_host.c
-+++ b/drivers/usb/musb/musb_host.c
-@@ -292,9 +292,8 @@ start:
- }
- }
-
--/* caller owns controller lock, irqs are blocked */
--static void
--__musb_giveback(struct musb *musb, struct urb *urb, int status)
-+/* Context: caller owns controller lock, IRQs are blocked */
-+static void musb_giveback(struct musb *musb, struct urb *urb, int status)
- __releases(musb->lock)
- __acquires(musb->lock)
- {
-@@ -347,14 +346,22 @@ static inline void musb_save_toggle(struct musb_qh *qh, int is_in,
- usb_settoggle(urb->dev, qh->epnum, !is_in, csr ? 1 : 0);
- }
-
--/* caller owns controller lock, irqs are blocked */
--static struct musb_qh *
--musb_giveback(struct musb_qh *qh, struct urb *urb, int status)
-+/*
-+ * Advance this hardware endpoint's queue, completing the specified URB and
-+ * advancing to either the next URB queued to that qh, or else invalidating
-+ * that qh and advancing to the next qh scheduled after the current one.
-+ *
-+ * Context: caller owns controller lock, IRQs are blocked
-+ */
-+static void musb_advance_schedule(struct musb *musb, struct urb *urb,
-+ struct musb_hw_ep *hw_ep, int is_in)
- {
-+ struct musb_qh *qh = musb_ep_get_qh(hw_ep, is_in);
- struct musb_hw_ep *ep = qh->hw_ep;
-- struct musb *musb = ep->musb;
-- int is_in = usb_pipein(urb->pipe);
- int ready = qh->is_ready;
-+ int status;
-+
-+ status = (urb->status == -EINPROGRESS) ? 0 : urb->status;
-
- /* save toggle eagerly, for paranoia */
- switch (qh->type) {
-@@ -363,13 +370,13 @@ musb_giveback(struct musb_qh *qh, struct urb *urb, int status)
- musb_save_toggle(qh, is_in, urb);
- break;
- case USB_ENDPOINT_XFER_ISOC:
-- if (status == 0 && urb->error_count)
-+ if (urb->error_count)
- status = -EXDEV;
- break;
- }
-
- qh->is_ready = 0;
-- __musb_giveback(musb, urb, status);
-+ musb_giveback(musb, urb, status);
- qh->is_ready = ready;
-
- /* reclaim resources (and bandwidth) ASAP; deschedule it, and
-@@ -413,31 +420,10 @@ musb_giveback(struct musb_qh *qh, struct urb *urb, int status)
- break;
- }
- }
-- return qh;
--}
--
--/*
-- * Advance this hardware endpoint's queue, completing the specified urb and
-- * advancing to either the next urb queued to that qh, or else invalidating
-- * that qh and advancing to the next qh scheduled after the current one.
-- *
-- * Context: caller owns controller lock, irqs are blocked
-- */
--static void
--musb_advance_schedule(struct musb *musb, struct urb *urb,
-- struct musb_hw_ep *hw_ep, int is_in)
--{
-- struct musb_qh *qh = musb_ep_get_qh(hw_ep, is_in);
--
-- if (urb->status == -EINPROGRESS)
-- qh = musb_giveback(qh, urb, 0);
-- else
-- qh = musb_giveback(qh, urb, urb->status);
-
- if (qh != NULL && qh->is_ready) {
- DBG(4, "... next ep%d %cX urb %p\n",
-- hw_ep->epnum, is_in ? 'R' : 'T',
-- next_urb(qh));
-+ hw_ep->epnum, is_in ? 'R' : 'T', next_urb(qh));
- musb_start_urb(musb, is_in, qh);
- }
- }
-@@ -2080,7 +2066,7 @@ static int musb_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, int status)
-
- ret = 0;
- qh->is_ready = 0;
-- __musb_giveback(musb, urb, 0);
-+ musb_giveback(musb, urb, 0);
- qh->is_ready = ready;
-
- /* If nothing else (usually musb_giveback) is using it
-@@ -2164,7 +2150,7 @@ musb_h_disable(struct usb_hcd *hcd, struct usb_host_endpoint *hep)
- * will activate any of these as it advances.
- */
- while (!list_empty(&hep->urb_list))
-- __musb_giveback(musb, next_urb(qh), -ESHUTDOWN);
-+ musb_giveback(musb, next_urb(qh), -ESHUTDOWN);
-
- hep->hcpriv = NULL;
- list_del(&qh->ring);
---
-1.6.0.4
-