Lines Matching full:ohci

3  * Open Host Controller Interface (OHCI) driver for USB.
11 * [ uhci code and gregs ohci fragments ]
16 * OHCI is the main "non-Intel/VIA" standard for USB 1.1 host controller
52 #define DRIVER_DESC "USB 1.1 'Open' Host Controller (OHCI) Driver"
80 #include "ohci.h"
83 static void ohci_dump(struct ohci_hcd *ohci);
87 #include "ohci-hub.c"
88 #include "ohci-dbg.c"
89 #include "ohci-mem.c"
90 #include "ohci-q.c"
152 struct ohci_hcd *ohci = hcd_to_ohci (hcd); in ohci_urb_enqueue() local
161 ed = ed_get(ohci, urb->ep, urb->dev, pipe, urb->interval); in ohci_urb_enqueue()
202 urb_priv->td [i] = td_alloc (ohci, mem_flags); in ohci_urb_enqueue()
205 urb_free_priv (ohci, urb_priv); in ohci_urb_enqueue()
210 spin_lock_irqsave (&ohci->lock, flags); in ohci_urb_enqueue()
217 if (ohci->rh_state != OHCI_RH_RUNNING) { in ohci_urb_enqueue()
227 retval = ed_schedule (ohci, ed); in ohci_urb_enqueue()
234 if (ohci->prev_frame_no == IO_WATCHDOG_OFF && in ohci_urb_enqueue()
235 list_empty(&ohci->eds_in_use) && in ohci_urb_enqueue()
236 !(ohci->flags & OHCI_QUIRK_QEMU)) { in ohci_urb_enqueue()
237 ohci->prev_frame_no = ohci_frame_no(ohci); in ohci_urb_enqueue()
238 mod_timer(&ohci->io_watchdog, in ohci_urb_enqueue()
241 list_add(&ed->in_use_list, &ohci->eds_in_use); in ohci_urb_enqueue()
244 u16 frame = ohci_frame_no(ohci); in ohci_urb_enqueue()
254 u16 next = ohci_frame_no(ohci) + 1; in ohci_urb_enqueue()
272 * Some OHCI hardware doesn't handle late TDs in ohci_urb_enqueue()
283 ohci_dbg(ohci, "iso underrun %p (%u+%u < %u)\n", in ohci_urb_enqueue()
298 td_submit_urb (ohci, urb); in ohci_urb_enqueue()
302 urb_free_priv (ohci, urb_priv); in ohci_urb_enqueue()
303 spin_unlock_irqrestore (&ohci->lock, flags); in ohci_urb_enqueue()
315 struct ohci_hcd *ohci = hcd_to_ohci (hcd); in ohci_urb_dequeue() local
320 spin_lock_irqsave (&ohci->lock, flags); in ohci_urb_dequeue()
330 start_ed_unlink(ohci, urb_priv->ed); in ohci_urb_dequeue()
332 if (ohci->rh_state != OHCI_RH_RUNNING) { in ohci_urb_dequeue()
334 ohci_work(ohci); in ohci_urb_dequeue()
337 spin_unlock_irqrestore (&ohci->lock, flags); in ohci_urb_dequeue()
350 struct ohci_hcd *ohci = hcd_to_ohci (hcd); in ohci_endpoint_disable() local
362 spin_lock_irqsave (&ohci->lock, flags); in ohci_endpoint_disable()
364 if (ohci->rh_state != OHCI_RH_RUNNING) { in ohci_endpoint_disable()
367 ohci_work(ohci); in ohci_endpoint_disable()
374 ohci_warn(ohci, "ED unlink timeout\n"); in ohci_endpoint_disable()
377 spin_unlock_irqrestore (&ohci->lock, flags); in ohci_endpoint_disable()
382 td_free (ohci, ed->dummy); in ohci_endpoint_disable()
383 ed_free (ohci, ed); in ohci_endpoint_disable()
391 ohci_err (ohci, "leak ed %p (#%02x) state %d%s\n", in ohci_endpoint_disable()
394 td_free (ohci, ed->dummy); in ohci_endpoint_disable()
398 spin_unlock_irqrestore (&ohci->lock, flags); in ohci_endpoint_disable()
403 struct ohci_hcd *ohci = hcd_to_ohci (hcd); in ohci_get_frame() local
405 return ohci_frame_no(ohci); in ohci_get_frame()
408 static void ohci_usb_reset (struct ohci_hcd *ohci) in ohci_usb_reset() argument
410 ohci->hc_control = ohci_readl (ohci, &ohci->regs->control); in ohci_usb_reset()
411 ohci->hc_control &= OHCI_CTRL_RWC; in ohci_usb_reset()
412 ohci_writel (ohci, ohci->hc_control, &ohci->regs->control); in ohci_usb_reset()
413 ohci->rh_state = OHCI_RH_HALTED; in ohci_usb_reset()
422 struct ohci_hcd *ohci; in _ohci_shutdown() local
424 ohci = hcd_to_ohci (hcd); in _ohci_shutdown()
425 ohci_writel(ohci, (u32) ~0, &ohci->regs->intrdisable); in _ohci_shutdown()
428 ohci_writel(ohci, OHCI_HCR, &ohci->regs->cmdstatus); in _ohci_shutdown()
429 ohci_readl(ohci, &ohci->regs->cmdstatus); /* flush the writes */ in _ohci_shutdown()
432 ohci_writel(ohci, ohci->fminterval, &ohci->regs->fminterval); in _ohci_shutdown()
433 ohci->rh_state = OHCI_RH_HALTED; in _ohci_shutdown()
438 struct ohci_hcd *ohci = hcd_to_ohci(hcd); in ohci_shutdown() local
441 spin_lock_irqsave(&ohci->lock, flags); in ohci_shutdown()
443 spin_unlock_irqrestore(&ohci->lock, flags); in ohci_shutdown()
452 static int ohci_init (struct ohci_hcd *ohci) in ohci_init() argument
455 struct usb_hcd *hcd = ohci_to_hcd(ohci); in ohci_init()
462 ohci->flags |= OHCI_QUIRK_HUB_POWER; in ohci_init()
464 ohci->rh_state = OHCI_RH_HALTED; in ohci_init()
465 ohci->regs = hcd->regs; in ohci_init()
473 if (!no_handshake && ohci_readl (ohci, in ohci_init()
474 &ohci->regs->control) & OHCI_CTRL_IR) { in ohci_init()
477 ohci_dbg (ohci, "USB HC TakeOver from BIOS/SMM\n"); in ohci_init()
485 ohci_writel (ohci, OHCI_INTR_OC, &ohci->regs->intrenable); in ohci_init()
486 ohci_writel (ohci, OHCI_OCR, &ohci->regs->cmdstatus); in ohci_init()
487 while (ohci_readl (ohci, &ohci->regs->control) & OHCI_CTRL_IR) { in ohci_init()
490 ohci_err (ohci, "USB HC takeover failed!" in ohci_init()
495 ohci_usb_reset (ohci); in ohci_init()
500 ohci_writel (ohci, OHCI_INTR_MIE, &ohci->regs->intrdisable); in ohci_init()
503 if (ohci_readl (ohci, &ohci->regs->control) & OHCI_CTRL_RWC) in ohci_init()
504 ohci->hc_control |= OHCI_CTRL_RWC; in ohci_init()
507 if (ohci->num_ports == 0) in ohci_init()
508 ohci->num_ports = roothub_a(ohci) & RH_A_NDP; in ohci_init()
510 if (ohci->hcca) in ohci_init()
513 timer_setup(&ohci->io_watchdog, io_watchdog_func, 0); in ohci_init()
514 ohci->prev_frame_no = IO_WATCHDOG_OFF; in ohci_init()
517 ohci->hcca = gen_pool_dma_alloc_align(hcd->localmem_pool, in ohci_init()
518 sizeof(*ohci->hcca), in ohci_init()
519 &ohci->hcca_dma, 256); in ohci_init()
521 ohci->hcca = dma_alloc_coherent(hcd->self.controller, in ohci_init()
522 sizeof(*ohci->hcca), in ohci_init()
523 &ohci->hcca_dma, in ohci_init()
525 if (!ohci->hcca) in ohci_init()
528 if ((ret = ohci_mem_init (ohci)) < 0) in ohci_init()
531 create_debug_files (ohci); in ohci_init()
539 /* Start an OHCI controller, set the BUS operational
543 static int ohci_run (struct ohci_hcd *ohci) in ohci_run() argument
546 int first = ohci->fminterval == 0; in ohci_run()
547 struct usb_hcd *hcd = ohci_to_hcd(ohci); in ohci_run()
549 ohci->rh_state = OHCI_RH_HALTED; in ohci_run()
554 val = ohci_readl (ohci, &ohci->regs->fminterval); in ohci_run()
555 ohci->fminterval = val & 0x3fff; in ohci_run()
556 if (ohci->fminterval != FI) in ohci_run()
557 ohci_dbg (ohci, "fminterval delta %d\n", in ohci_run()
558 ohci->fminterval - FI); in ohci_run()
559 ohci->fminterval |= FSMP (ohci->fminterval) << 16; in ohci_run()
569 if ((ohci->hc_control & OHCI_CTRL_RWC) != 0) in ohci_run()
572 switch (ohci->hc_control & OHCI_CTRL_HCFS) { in ohci_run()
578 ohci->hc_control &= OHCI_CTRL_RWC; in ohci_run()
579 ohci->hc_control |= OHCI_USB_RESUME; in ohci_run()
584 ohci->hc_control &= OHCI_CTRL_RWC; in ohci_run()
585 ohci->hc_control |= OHCI_USB_RESET; in ohci_run()
589 ohci_writel (ohci, ohci->hc_control, &ohci->regs->control); in ohci_run()
591 (void) ohci_readl (ohci, &ohci->regs->control); in ohci_run()
594 memset (ohci->hcca, 0, sizeof (struct ohci_hcca)); in ohci_run()
597 spin_lock_irq (&ohci->lock); in ohci_run()
601 ohci_writel (ohci, OHCI_HCR, &ohci->regs->cmdstatus); in ohci_run()
603 while ((ohci_readl (ohci, &ohci->regs->cmdstatus) & OHCI_HCR) != 0) { in ohci_run()
605 spin_unlock_irq (&ohci->lock); in ohci_run()
606 ohci_err (ohci, "USB HC reset timed out!\n"); in ohci_run()
621 if (ohci->flags & OHCI_QUIRK_INITRESET) { in ohci_run()
622 ohci_writel (ohci, ohci->hc_control, &ohci->regs->control); in ohci_run()
624 (void) ohci_readl (ohci, &ohci->regs->control); in ohci_run()
629 ohci_writel (ohci, 0, &ohci->regs->ed_controlhead); in ohci_run()
630 ohci_writel (ohci, 0, &ohci->regs->ed_bulkhead); in ohci_run()
633 ohci_writel (ohci, (u32) ohci->hcca_dma, &ohci->regs->hcca); in ohci_run()
635 periodic_reinit (ohci); in ohci_run()
637 /* some OHCI implementations are finicky about how they init. in ohci_run()
640 if ((ohci_readl (ohci, &ohci->regs->fminterval) & 0x3fff0000) == 0 in ohci_run()
641 || !ohci_readl (ohci, &ohci->regs->periodicstart)) { in ohci_run()
642 if (!(ohci->flags & OHCI_QUIRK_INITRESET)) { in ohci_run()
643 ohci->flags |= OHCI_QUIRK_INITRESET; in ohci_run()
644 ohci_dbg (ohci, "enabling initreset quirk\n"); in ohci_run()
647 spin_unlock_irq (&ohci->lock); in ohci_run()
648 ohci_err (ohci, "init err (%08x %04x)\n", in ohci_run()
649 ohci_readl (ohci, &ohci->regs->fminterval), in ohci_run()
650 ohci_readl (ohci, &ohci->regs->periodicstart)); in ohci_run()
659 ohci->hc_control &= OHCI_CTRL_RWC; in ohci_run()
660 ohci->hc_control |= OHCI_CONTROL_INIT | OHCI_USB_OPER; in ohci_run()
661 ohci_writel (ohci, ohci->hc_control, &ohci->regs->control); in ohci_run()
662 ohci->rh_state = OHCI_RH_RUNNING; in ohci_run()
665 ohci_writel (ohci, RH_HS_DRWE, &ohci->regs->roothub.status); in ohci_run()
669 ohci_writel (ohci, ~0, &ohci->regs->intrstatus); in ohci_run()
670 ohci_writel (ohci, mask, &ohci->regs->intrenable); in ohci_run()
673 val = roothub_a (ohci); in ohci_run()
677 if (ohci->flags & OHCI_QUIRK_SUPERIO) { in ohci_run()
683 } else if ((ohci->flags & OHCI_QUIRK_AMD756) || in ohci_run()
684 (ohci->flags & OHCI_QUIRK_HUB_POWER)) { in ohci_run()
690 ohci_writel(ohci, val, &ohci->regs->roothub.a); in ohci_run()
692 ohci_writel (ohci, RH_HS_LPSC, &ohci->regs->roothub.status); in ohci_run()
693 ohci_writel (ohci, (val & RH_A_NPS) ? 0 : RH_B_PPCM, in ohci_run()
694 &ohci->regs->roothub.b); in ohci_run()
696 (void) ohci_readl (ohci, &ohci->regs->control); in ohci_run()
698 ohci->next_statechange = jiffies + STATECHANGE_DELAY; in ohci_run()
699 spin_unlock_irq (&ohci->lock); in ohci_run()
704 ohci_dump(ohci); in ohci_run()
713 struct ohci_hcd *ohci = hcd_to_ohci(hcd); in ohci_setup() local
715 ohci_hcd_init(ohci); in ohci_setup()
717 return ohci_init(ohci); in ohci_setup()
721 /* ohci_start routine for generic controller start of all OHCI bus glue */
724 struct ohci_hcd *ohci = hcd_to_ohci(hcd); in ohci_start() local
727 ret = ohci_run(ohci); in ohci_start()
729 ohci_err(ohci, "can't start\n"); in ohci_start()
738 * Some OHCI controllers are known to lose track of completed TDs. They
749 struct ohci_hcd *ohci = from_timer(ohci, t, io_watchdog); in io_watchdog_func() local
758 spin_lock_irqsave(&ohci->lock, flags); in io_watchdog_func()
767 status = ohci_readl(ohci, &ohci->regs->intrstatus); in io_watchdog_func()
768 if (!(status & OHCI_INTR_WDH) && ohci->wdh_cnt == ohci->prev_wdh_cnt) { in io_watchdog_func()
769 if (ohci->prev_donehead) { in io_watchdog_func()
770 ohci_err(ohci, "HcDoneHead not written back; disabled\n"); in io_watchdog_func()
772 usb_hc_died(ohci_to_hcd(ohci)); in io_watchdog_func()
773 ohci_dump(ohci); in io_watchdog_func()
774 _ohci_shutdown(ohci_to_hcd(ohci)); in io_watchdog_func()
783 list_for_each_entry(ed, &ohci->eds_in_use, in_use_list) { in io_watchdog_func()
786 OKAY_TO_TAKEBACK(ohci, ed)) { in io_watchdog_func()
787 unsigned tmp = hc32_to_cpu(ohci, ed->hwINFO); in io_watchdog_func()
789 ohci_dbg(ohci, "takeback pending TD for dev %d ep 0x%x\n", in io_watchdog_func()
793 add_to_done_list(ohci, ed->pending_td); in io_watchdog_func()
810 head = hc32_to_cpu(ohci, READ_ONCE(ed->hwHeadP)) & TD_MASK; in io_watchdog_func()
824 ed->takeback_wdh_cnt = ohci->wdh_cnt + 2; in io_watchdog_func()
829 ohci_work(ohci); in io_watchdog_func()
831 if (ohci->rh_state == OHCI_RH_RUNNING) { in io_watchdog_func()
841 frame_no = ohci_frame_no(ohci); in io_watchdog_func()
842 if (frame_no == ohci->prev_frame_no) { in io_watchdog_func()
847 for (i = 0; i < ohci->num_ports; ++i) { in io_watchdog_func()
848 tmp = roothub_portstatus(ohci, i); in io_watchdog_func()
855 ohci_err(ohci, "frame counter not updating; disabled\n"); in io_watchdog_func()
859 if (!list_empty(&ohci->eds_in_use)) { in io_watchdog_func()
861 ohci->prev_wdh_cnt = ohci->wdh_cnt; in io_watchdog_func()
862 ohci->prev_donehead = ohci_readl(ohci, in io_watchdog_func()
863 &ohci->regs->donehead); in io_watchdog_func()
864 mod_timer(&ohci->io_watchdog, in io_watchdog_func()
870 ohci->prev_frame_no = prev_frame_no; in io_watchdog_func()
871 spin_unlock_irqrestore(&ohci->lock, flags); in io_watchdog_func()
878 struct ohci_hcd *ohci = hcd_to_ohci (hcd); in ohci_irq() local
879 struct ohci_regs __iomem *regs = ohci->regs; in ohci_irq()
884 * work on all systems (edge triggering for OHCI can be a factor). in ohci_irq()
886 ints = ohci_readl(ohci, &regs->intrstatus); in ohci_irq()
893 ohci->rh_state = OHCI_RH_HALTED; in ohci_irq()
894 ohci_dbg (ohci, "device removed!\n"); in ohci_irq()
900 ints &= ohci_readl(ohci, &regs->intrenable); in ohci_irq()
903 if (ints == 0 || unlikely(ohci->rh_state == OHCI_RH_HALTED)) in ohci_irq()
908 if (quirk_nec(ohci)) { in ohci_irq()
912 ohci_err (ohci, "OHCI Unrecoverable Error, scheduling NEC chip restart\n"); in ohci_irq()
914 ohci_writel (ohci, OHCI_INTR_UE, &regs->intrdisable); in ohci_irq()
916 schedule_work (&ohci->nec_work); in ohci_irq()
918 ohci_err (ohci, "OHCI Unrecoverable Error, disabled\n"); in ohci_irq()
919 ohci->rh_state = OHCI_RH_HALTED; in ohci_irq()
923 ohci_dump(ohci); in ohci_irq()
924 ohci_usb_reset (ohci); in ohci_irq()
928 ohci_dbg(ohci, "rhsc\n"); in ohci_irq()
929 ohci->next_statechange = jiffies + STATECHANGE_DELAY; in ohci_irq()
930 ohci_writel(ohci, OHCI_INTR_RD | OHCI_INTR_RHSC, in ohci_irq()
941 ohci_writel(ohci, OHCI_INTR_RHSC, &regs->intrdisable); in ohci_irq()
950 ohci_dbg(ohci, "resume detect\n"); in ohci_irq()
951 ohci_writel(ohci, OHCI_INTR_RD, &regs->intrstatus); in ohci_irq()
953 if (ohci->autostop) { in ohci_irq()
954 spin_lock (&ohci->lock); in ohci_irq()
955 ohci_rh_resume (ohci); in ohci_irq()
956 spin_unlock (&ohci->lock); in ohci_irq()
961 spin_lock(&ohci->lock); in ohci_irq()
963 update_done_list(ohci); in ohci_irq()
970 ohci_work(ohci); in ohci_irq()
971 if ((ints & OHCI_INTR_SF) != 0 && !ohci->ed_rm_list in ohci_irq()
972 && ohci->rh_state == OHCI_RH_RUNNING) in ohci_irq()
973 ohci_writel (ohci, OHCI_INTR_SF, &regs->intrdisable); in ohci_irq()
975 if (ohci->rh_state == OHCI_RH_RUNNING) { in ohci_irq()
976 ohci_writel (ohci, ints, &regs->intrstatus); in ohci_irq()
978 ++ohci->wdh_cnt; in ohci_irq()
980 ohci_writel (ohci, OHCI_INTR_MIE, &regs->intrenable); in ohci_irq()
982 (void) ohci_readl (ohci, &ohci->regs->control); in ohci_irq()
984 spin_unlock(&ohci->lock); in ohci_irq()
987 if (ohci->rh_state != OHCI_RH_HALTED) { in ohci_irq()
988 ints = ohci_readl(ohci, &regs->intrstatus); in ohci_irq()
989 if (ints && (ints & ohci_readl(ohci, &regs->intrenable))) in ohci_irq()
1000 struct ohci_hcd *ohci = hcd_to_ohci (hcd); in ohci_stop() local
1002 ohci_dump(ohci); in ohci_stop()
1004 if (quirk_nec(ohci)) in ohci_stop()
1005 flush_work(&ohci->nec_work); in ohci_stop()
1006 del_timer_sync(&ohci->io_watchdog); in ohci_stop()
1007 ohci->prev_frame_no = IO_WATCHDOG_OFF; in ohci_stop()
1009 ohci_writel (ohci, OHCI_INTR_MIE, &ohci->regs->intrdisable); in ohci_stop()
1010 ohci_usb_reset(ohci); in ohci_stop()
1014 if (quirk_amdiso(ohci)) in ohci_stop()
1017 remove_debug_files (ohci); in ohci_stop()
1018 ohci_mem_cleanup (ohci); in ohci_stop()
1019 if (ohci->hcca) { in ohci_stop()
1022 (unsigned long)ohci->hcca, in ohci_stop()
1023 sizeof(*ohci->hcca)); in ohci_stop()
1026 sizeof(*ohci->hcca), in ohci_stop()
1027 ohci->hcca, ohci->hcca_dma); in ohci_stop()
1028 ohci->hcca = NULL; in ohci_stop()
1029 ohci->hcca_dma = 0; in ohci_stop()
1038 int ohci_restart(struct ohci_hcd *ohci) in ohci_restart() argument
1044 ohci_init(ohci); in ohci_restart()
1045 spin_lock_irq(&ohci->lock); in ohci_restart()
1046 ohci->rh_state = OHCI_RH_HALTED; in ohci_restart()
1049 if (!list_empty (&ohci->pending)) in ohci_restart()
1050 ohci_dbg(ohci, "abort schedule...\n"); in ohci_restart()
1051 list_for_each_entry (priv, &ohci->pending, pending) { in ohci_restart()
1058 ed->hwINFO |= cpu_to_hc32(ohci, ED_DEQUEUE); in ohci_restart()
1059 ed_deschedule (ohci, ed); in ohci_restart()
1061 ed->ed_next = ohci->ed_rm_list; in ohci_restart()
1063 ohci->ed_rm_list = ed; in ohci_restart()
1068 ohci_dbg(ohci, "bogus ed %p state %d\n", in ohci_restart()
1075 ohci_work(ohci); in ohci_restart()
1076 spin_unlock_irq(&ohci->lock); in ohci_restart()
1081 for (i = 0; i < NUM_INTS; i++) ohci->load [i] = 0; in ohci_restart()
1082 for (i = 0; i < NUM_INTS; i++) ohci->hcca->int_table [i] = 0; in ohci_restart()
1085 ohci->ed_rm_list = NULL; in ohci_restart()
1088 ohci->ed_controltail = NULL; in ohci_restart()
1089 ohci->ed_bulktail = NULL; in ohci_restart()
1091 if ((temp = ohci_run (ohci)) < 0) { in ohci_restart()
1092 ohci_err (ohci, "can't restart, %d\n", temp); in ohci_restart()
1095 ohci_dbg(ohci, "restart complete\n"); in ohci_restart()
1106 struct ohci_hcd *ohci = hcd_to_ohci (hcd); in ohci_suspend() local
1114 spin_lock_irqsave (&ohci->lock, flags); in ohci_suspend()
1115 ohci_writel(ohci, OHCI_INTR_MIE, &ohci->regs->intrdisable); in ohci_suspend()
1116 (void)ohci_readl(ohci, &ohci->regs->intrdisable); in ohci_suspend()
1119 spin_unlock_irqrestore (&ohci->lock, flags); in ohci_suspend()
1134 struct ohci_hcd *ohci = hcd_to_ohci(hcd); in ohci_resume() local
1142 ohci_usb_reset(ohci); in ohci_resume()
1145 ohci->hc_control = ohci_readl(ohci, &ohci->regs->control); in ohci_resume()
1146 if (ohci->hc_control & (OHCI_CTRL_IR | OHCI_SCHED_ENABLES)) { in ohci_resume()
1149 switch (ohci->hc_control & OHCI_CTRL_HCFS) { in ohci_resume()
1158 spin_lock_irq(&ohci->lock); in ohci_resume()
1159 ohci_rh_resume(ohci); in ohci_resume()
1160 ohci_rh_suspend(ohci, 0); in ohci_resume()
1161 spin_unlock_irq(&ohci->lock); in ohci_resume()
1166 ohci_dbg(ohci, "powerup ports\n"); in ohci_resume()
1167 for (port = 0; port < ohci->num_ports; port++) in ohci_resume()
1168 ohci_writel(ohci, RH_PS_PPS, in ohci_resume()
1169 &ohci->regs->roothub.portstatus[port]); in ohci_resume()
1171 ohci_writel(ohci, OHCI_INTR_MIE, &ohci->regs->intrenable); in ohci_resume()
1172 ohci_readl(ohci, &ohci->regs->intrenable); in ohci_resume()
1193 .product_desc = "OHCI Host Controller",
1256 #include "ohci-sa1111.c"
1261 #include "ohci-ppc-of.c"
1266 #include "ohci-ps3.c"
1271 #include "ohci-sm501.c"
1286 ohci_debug_root = debugfs_create_dir("ohci", usb_debug_root); in ohci_hcd_mod_init()