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-hcd.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-hcd.c')
-rw-r--r-- | drivers/usb/host/ehci-hcd.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index 5ac918591131..aac6ec5dd7cf 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c | |||
@@ -254,8 +254,8 @@ static void ehci_quiesce (struct ehci_hcd *ehci) | |||
254 | 254 | ||
255 | /*-------------------------------------------------------------------------*/ | 255 | /*-------------------------------------------------------------------------*/ |
256 | 256 | ||
257 | static void end_unlink_async (struct ehci_hcd *ehci, struct pt_regs *regs); | 257 | static void end_unlink_async (struct ehci_hcd *ehci); |
258 | static void ehci_work(struct ehci_hcd *ehci, struct pt_regs *regs); | 258 | static void ehci_work(struct ehci_hcd *ehci); |
259 | 259 | ||
260 | #include "ehci-hub.c" | 260 | #include "ehci-hub.c" |
261 | #include "ehci-mem.c" | 261 | #include "ehci-mem.c" |
@@ -280,7 +280,7 @@ static void ehci_iaa_watchdog (unsigned long param) | |||
280 | ehci_vdbg (ehci, "lost IAA\n"); | 280 | ehci_vdbg (ehci, "lost IAA\n"); |
281 | COUNT (ehci->stats.lost_iaa); | 281 | COUNT (ehci->stats.lost_iaa); |
282 | writel (STS_IAA, &ehci->regs->status); | 282 | writel (STS_IAA, &ehci->regs->status); |
283 | end_unlink_async (ehci, NULL); | 283 | end_unlink_async (ehci); |
284 | } | 284 | } |
285 | } | 285 | } |
286 | 286 | ||
@@ -299,7 +299,7 @@ static void ehci_watchdog (unsigned long param) | |||
299 | start_unlink_async (ehci, ehci->async); | 299 | start_unlink_async (ehci, ehci->async); |
300 | 300 | ||
301 | /* ehci could run by timer, without IRQs ... */ | 301 | /* ehci could run by timer, without IRQs ... */ |
302 | ehci_work (ehci, NULL); | 302 | ehci_work (ehci); |
303 | 303 | ||
304 | spin_unlock_irqrestore (&ehci->lock, flags); | 304 | spin_unlock_irqrestore (&ehci->lock, flags); |
305 | } | 305 | } |
@@ -342,7 +342,7 @@ static void ehci_port_power (struct ehci_hcd *ehci, int is_on) | |||
342 | * ehci_work is called from some interrupts, timers, and so on. | 342 | * ehci_work is called from some interrupts, timers, and so on. |
343 | * it calls driver completion functions, after dropping ehci->lock. | 343 | * it calls driver completion functions, after dropping ehci->lock. |
344 | */ | 344 | */ |
345 | static void ehci_work (struct ehci_hcd *ehci, struct pt_regs *regs) | 345 | static void ehci_work (struct ehci_hcd *ehci) |
346 | { | 346 | { |
347 | timer_action_done (ehci, TIMER_IO_WATCHDOG); | 347 | timer_action_done (ehci, TIMER_IO_WATCHDOG); |
348 | 348 | ||
@@ -353,9 +353,9 @@ static void ehci_work (struct ehci_hcd *ehci, struct pt_regs *regs) | |||
353 | if (ehci->scanning) | 353 | if (ehci->scanning) |
354 | return; | 354 | return; |
355 | ehci->scanning = 1; | 355 | ehci->scanning = 1; |
356 | scan_async (ehci, regs); | 356 | scan_async (ehci); |
357 | if (ehci->next_uframe != -1) | 357 | if (ehci->next_uframe != -1) |
358 | scan_periodic (ehci, regs); | 358 | scan_periodic (ehci); |
359 | ehci->scanning = 0; | 359 | ehci->scanning = 0; |
360 | 360 | ||
361 | /* the IO watchdog guards against hardware or driver bugs that | 361 | /* the IO watchdog guards against hardware or driver bugs that |
@@ -397,7 +397,7 @@ static void ehci_stop (struct usb_hcd *hcd) | |||
397 | /* root hub is shut down separately (first, when possible) */ | 397 | /* root hub is shut down separately (first, when possible) */ |
398 | spin_lock_irq (&ehci->lock); | 398 | spin_lock_irq (&ehci->lock); |
399 | if (ehci->async) | 399 | if (ehci->async) |
400 | ehci_work (ehci, NULL); | 400 | ehci_work (ehci); |
401 | spin_unlock_irq (&ehci->lock); | 401 | spin_unlock_irq (&ehci->lock); |
402 | ehci_mem_cleanup (ehci); | 402 | ehci_mem_cleanup (ehci); |
403 | 403 | ||
@@ -573,7 +573,7 @@ static int ehci_run (struct usb_hcd *hcd) | |||
573 | 573 | ||
574 | /*-------------------------------------------------------------------------*/ | 574 | /*-------------------------------------------------------------------------*/ |
575 | 575 | ||
576 | static irqreturn_t ehci_irq (struct usb_hcd *hcd, struct pt_regs *regs) | 576 | static irqreturn_t ehci_irq (struct usb_hcd *hcd) |
577 | { | 577 | { |
578 | struct ehci_hcd *ehci = hcd_to_ehci (hcd); | 578 | struct ehci_hcd *ehci = hcd_to_ehci (hcd); |
579 | u32 status; | 579 | u32 status; |
@@ -619,7 +619,7 @@ static irqreturn_t ehci_irq (struct usb_hcd *hcd, struct pt_regs *regs) | |||
619 | /* complete the unlinking of some qh [4.15.2.3] */ | 619 | /* complete the unlinking of some qh [4.15.2.3] */ |
620 | if (status & STS_IAA) { | 620 | if (status & STS_IAA) { |
621 | COUNT (ehci->stats.reclaim); | 621 | COUNT (ehci->stats.reclaim); |
622 | end_unlink_async (ehci, regs); | 622 | end_unlink_async (ehci); |
623 | bh = 1; | 623 | bh = 1; |
624 | } | 624 | } |
625 | 625 | ||
@@ -670,7 +670,7 @@ dead: | |||
670 | } | 670 | } |
671 | 671 | ||
672 | if (bh) | 672 | if (bh) |
673 | ehci_work (ehci, regs); | 673 | ehci_work (ehci); |
674 | spin_unlock (&ehci->lock); | 674 | spin_unlock (&ehci->lock); |
675 | return IRQ_HANDLED; | 675 | return IRQ_HANDLED; |
676 | } | 676 | } |
@@ -727,7 +727,7 @@ static void unlink_async (struct ehci_hcd *ehci, struct ehci_qh *qh) | |||
727 | 727 | ||
728 | /* failfast */ | 728 | /* failfast */ |
729 | if (!HC_IS_RUNNING (ehci_to_hcd(ehci)->state)) | 729 | if (!HC_IS_RUNNING (ehci_to_hcd(ehci)->state)) |
730 | end_unlink_async (ehci, NULL); | 730 | end_unlink_async (ehci); |
731 | 731 | ||
732 | /* defer till later if busy */ | 732 | /* defer till later if busy */ |
733 | else if (ehci->reclaim) { | 733 | else if (ehci->reclaim) { |
@@ -787,7 +787,7 @@ static int ehci_urb_dequeue (struct usb_hcd *hcd, struct urb *urb) | |||
787 | intr_deschedule (ehci, qh); | 787 | intr_deschedule (ehci, qh); |
788 | /* FALL THROUGH */ | 788 | /* FALL THROUGH */ |
789 | case QH_STATE_IDLE: | 789 | case QH_STATE_IDLE: |
790 | qh_completions (ehci, qh, NULL); | 790 | qh_completions (ehci, qh); |
791 | break; | 791 | break; |
792 | default: | 792 | default: |
793 | ehci_dbg (ehci, "bogus qh %p state %d\n", | 793 | ehci_dbg (ehci, "bogus qh %p state %d\n", |