diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-05 19:32:01 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-05 19:32:01 -0400 |
commit | 44aefd2706bb6f5b65ba2c38cd89e7609e2b43d3 (patch) | |
tree | 93824f573767da634fbc82c388b6d33cc454212b /drivers/usb/host/ehci-q.c | |
parent | c1a26e7d40fb814716950122353a1a556844286b (diff) | |
parent | 7d12e780e003f93433d49ce78cfedf4b4c52adc5 (diff) |
Merge git://git.infradead.org/~dhowells/irq-2.6
* git://git.infradead.org/~dhowells/irq-2.6:
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
IRQ: Typedef the IRQ handler function type
IRQ: Typedef the IRQ flow handler function type
Diffstat (limited to 'drivers/usb/host/ehci-q.c')
-rw-r--r-- | drivers/usb/host/ehci-q.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/drivers/usb/host/ehci-q.c b/drivers/usb/host/ehci-q.c index 7fc25b6bd7d2..46327272f614 100644 --- a/drivers/usb/host/ehci-q.c +++ b/drivers/usb/host/ehci-q.c | |||
@@ -214,7 +214,7 @@ static void qtd_copy_status ( | |||
214 | } | 214 | } |
215 | 215 | ||
216 | static void | 216 | static void |
217 | ehci_urb_done (struct ehci_hcd *ehci, struct urb *urb, struct pt_regs *regs) | 217 | ehci_urb_done (struct ehci_hcd *ehci, struct urb *urb) |
218 | __releases(ehci->lock) | 218 | __releases(ehci->lock) |
219 | __acquires(ehci->lock) | 219 | __acquires(ehci->lock) |
220 | { | 220 | { |
@@ -262,7 +262,7 @@ __acquires(ehci->lock) | |||
262 | 262 | ||
263 | /* complete() can reenter this HCD */ | 263 | /* complete() can reenter this HCD */ |
264 | spin_unlock (&ehci->lock); | 264 | spin_unlock (&ehci->lock); |
265 | usb_hcd_giveback_urb (ehci_to_hcd(ehci), urb, regs); | 265 | usb_hcd_giveback_urb (ehci_to_hcd(ehci), urb); |
266 | spin_lock (&ehci->lock); | 266 | spin_lock (&ehci->lock); |
267 | } | 267 | } |
268 | 268 | ||
@@ -279,7 +279,7 @@ static int qh_schedule (struct ehci_hcd *ehci, struct ehci_qh *qh); | |||
279 | */ | 279 | */ |
280 | #define HALT_BIT __constant_cpu_to_le32(QTD_STS_HALT) | 280 | #define HALT_BIT __constant_cpu_to_le32(QTD_STS_HALT) |
281 | static unsigned | 281 | static unsigned |
282 | qh_completions (struct ehci_hcd *ehci, struct ehci_qh *qh, struct pt_regs *regs) | 282 | qh_completions (struct ehci_hcd *ehci, struct ehci_qh *qh) |
283 | { | 283 | { |
284 | struct ehci_qtd *last = NULL, *end = qh->dummy; | 284 | struct ehci_qtd *last = NULL, *end = qh->dummy; |
285 | struct list_head *entry, *tmp; | 285 | struct list_head *entry, *tmp; |
@@ -317,7 +317,7 @@ qh_completions (struct ehci_hcd *ehci, struct ehci_qh *qh, struct pt_regs *regs) | |||
317 | /* clean up any state from previous QTD ...*/ | 317 | /* clean up any state from previous QTD ...*/ |
318 | if (last) { | 318 | if (last) { |
319 | if (likely (last->urb != urb)) { | 319 | if (likely (last->urb != urb)) { |
320 | ehci_urb_done (ehci, last->urb, regs); | 320 | ehci_urb_done (ehci, last->urb); |
321 | count++; | 321 | count++; |
322 | } | 322 | } |
323 | ehci_qtd_free (ehci, last); | 323 | ehci_qtd_free (ehci, last); |
@@ -407,7 +407,7 @@ halt: | |||
407 | 407 | ||
408 | /* last urb's completion might still need calling */ | 408 | /* last urb's completion might still need calling */ |
409 | if (likely (last != NULL)) { | 409 | if (likely (last != NULL)) { |
410 | ehci_urb_done (ehci, last->urb, regs); | 410 | ehci_urb_done (ehci, last->urb); |
411 | count++; | 411 | count++; |
412 | ehci_qtd_free (ehci, last); | 412 | ehci_qtd_free (ehci, last); |
413 | } | 413 | } |
@@ -962,7 +962,7 @@ submit_async ( | |||
962 | 962 | ||
963 | /* the async qh for the qtds being reclaimed are now unlinked from the HC */ | 963 | /* the async qh for the qtds being reclaimed are now unlinked from the HC */ |
964 | 964 | ||
965 | static void end_unlink_async (struct ehci_hcd *ehci, struct pt_regs *regs) | 965 | static void end_unlink_async (struct ehci_hcd *ehci) |
966 | { | 966 | { |
967 | struct ehci_qh *qh = ehci->reclaim; | 967 | struct ehci_qh *qh = ehci->reclaim; |
968 | struct ehci_qh *next; | 968 | struct ehci_qh *next; |
@@ -979,7 +979,7 @@ static void end_unlink_async (struct ehci_hcd *ehci, struct pt_regs *regs) | |||
979 | ehci->reclaim = next; | 979 | ehci->reclaim = next; |
980 | qh->reclaim = NULL; | 980 | qh->reclaim = NULL; |
981 | 981 | ||
982 | qh_completions (ehci, qh, regs); | 982 | qh_completions (ehci, qh); |
983 | 983 | ||
984 | if (!list_empty (&qh->qtd_list) | 984 | if (!list_empty (&qh->qtd_list) |
985 | && HC_IS_RUNNING (ehci_to_hcd(ehci)->state)) | 985 | && HC_IS_RUNNING (ehci_to_hcd(ehci)->state)) |
@@ -1047,7 +1047,7 @@ static void start_unlink_async (struct ehci_hcd *ehci, struct ehci_qh *qh) | |||
1047 | /* if (unlikely (qh->reclaim != 0)) | 1047 | /* if (unlikely (qh->reclaim != 0)) |
1048 | * this will recurse, probably not much | 1048 | * this will recurse, probably not much |
1049 | */ | 1049 | */ |
1050 | end_unlink_async (ehci, NULL); | 1050 | end_unlink_async (ehci); |
1051 | return; | 1051 | return; |
1052 | } | 1052 | } |
1053 | 1053 | ||
@@ -1059,8 +1059,7 @@ static void start_unlink_async (struct ehci_hcd *ehci, struct ehci_qh *qh) | |||
1059 | 1059 | ||
1060 | /*-------------------------------------------------------------------------*/ | 1060 | /*-------------------------------------------------------------------------*/ |
1061 | 1061 | ||
1062 | static void | 1062 | static void scan_async (struct ehci_hcd *ehci) |
1063 | scan_async (struct ehci_hcd *ehci, struct pt_regs *regs) | ||
1064 | { | 1063 | { |
1065 | struct ehci_qh *qh; | 1064 | struct ehci_qh *qh; |
1066 | enum ehci_timer_action action = TIMER_IO_WATCHDOG; | 1065 | enum ehci_timer_action action = TIMER_IO_WATCHDOG; |
@@ -1084,7 +1083,7 @@ rescan: | |||
1084 | */ | 1083 | */ |
1085 | qh = qh_get (qh); | 1084 | qh = qh_get (qh); |
1086 | qh->stamp = ehci->stamp; | 1085 | qh->stamp = ehci->stamp; |
1087 | temp = qh_completions (ehci, qh, regs); | 1086 | temp = qh_completions (ehci, qh); |
1088 | qh_put (qh); | 1087 | qh_put (qh); |
1089 | if (temp != 0) { | 1088 | if (temp != 0) { |
1090 | goto rescan; | 1089 | goto rescan; |