aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/ehci.h
diff options
context:
space:
mode:
authorAlan Stern <stern@rowland.harvard.edu>2012-07-11 11:21:25 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-07-16 19:50:13 -0400
commitc83e1a9ff68a6535b81c40dc8fda99348ab480fb (patch)
treefea3bfe22caed0144933c8b065f2bf16937fd8fb /drivers/usb/host/ehci.h
parent15be105b4a18c461b95fa683907f6da6deae1b75 (diff)
USB: EHCI: don't refcount QHs
This patch (as1567) removes ehci-hcd's reference counting of QH structures. It's not necessary to refcount these things because they always get deallocated at exactly one spot in ehci_endpoint_disable() (except for two special QHs, ehci->async and ehci->dummy) and are never used again. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/host/ehci.h')
-rw-r--r--drivers/usb/host/ehci.h9
1 files changed, 0 insertions, 9 deletions
diff --git a/drivers/usb/host/ehci.h b/drivers/usb/host/ehci.h
index 85c3572155d..f7a59f5d70c 100644
--- a/drivers/usb/host/ehci.h
+++ b/drivers/usb/host/ehci.h
@@ -350,16 +350,7 @@ struct ehci_qh {
350 struct ehci_qtd *dummy; 350 struct ehci_qtd *dummy;
351 struct ehci_qh *reclaim; /* next to reclaim */ 351 struct ehci_qh *reclaim; /* next to reclaim */
352 352
353 struct ehci_hcd *ehci;
354 unsigned long unlink_time; 353 unsigned long unlink_time;
355
356 /*
357 * Do NOT use atomic operations for QH refcounting. On some CPUs
358 * (PPC7448 for example), atomic operations cannot be performed on
359 * memory that is cache-inhibited (i.e. being used for DMA).
360 * Spinlocks are used to protect all QH fields.
361 */
362 u32 refcount;
363 unsigned stamp; 354 unsigned stamp;
364 355
365 u8 needs_rescan; /* Dequeue during giveback */ 356 u8 needs_rescan; /* Dequeue during giveback */