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 = timer_container_of(ohci, t, in io_watchdog_func() local
759 spin_lock_irqsave(&ohci->lock, flags); in io_watchdog_func()
768 status = ohci_readl(ohci, &ohci->regs->intrstatus); in io_watchdog_func()
769 if (!(status & OHCI_INTR_WDH) && ohci->wdh_cnt == ohci->prev_wdh_cnt) { in io_watchdog_func()
770 if (ohci->prev_donehead) { in io_watchdog_func()
771 ohci_err(ohci, "HcDoneHead not written back; disabled\n"); in io_watchdog_func()
773 usb_hc_died(ohci_to_hcd(ohci)); in io_watchdog_func()
774 ohci_dump(ohci); in io_watchdog_func()
775 _ohci_shutdown(ohci_to_hcd(ohci)); in io_watchdog_func()
784 list_for_each_entry(ed, &ohci->eds_in_use, in_use_list) { in io_watchdog_func()
787 OKAY_TO_TAKEBACK(ohci, ed)) { in io_watchdog_func()
788 unsigned tmp = hc32_to_cpu(ohci, ed->hwINFO); in io_watchdog_func()
790 ohci_dbg(ohci, "takeback pending TD for dev %d ep 0x%x\n", in io_watchdog_func()
794 add_to_done_list(ohci, ed->pending_td); in io_watchdog_func()
811 head = hc32_to_cpu(ohci, READ_ONCE(ed->hwHeadP)) & TD_MASK; in io_watchdog_func()
825 ed->takeback_wdh_cnt = ohci->wdh_cnt + 2; in io_watchdog_func()
830 ohci_work(ohci); in io_watchdog_func()
832 if (ohci->rh_state == OHCI_RH_RUNNING) { in io_watchdog_func()
842 frame_no = ohci_frame_no(ohci); in io_watchdog_func()
843 if (frame_no == ohci->prev_frame_no) { in io_watchdog_func()
848 for (i = 0; i < ohci->num_ports; ++i) { in io_watchdog_func()
849 tmp = roothub_portstatus(ohci, i); in io_watchdog_func()
856 ohci_err(ohci, "frame counter not updating; disabled\n"); in io_watchdog_func()
860 if (!list_empty(&ohci->eds_in_use)) { in io_watchdog_func()
862 ohci->prev_wdh_cnt = ohci->wdh_cnt; in io_watchdog_func()
863 ohci->prev_donehead = ohci_readl(ohci, in io_watchdog_func()
864 &ohci->regs->donehead); in io_watchdog_func()
865 mod_timer(&ohci->io_watchdog, in io_watchdog_func()
871 ohci->prev_frame_no = prev_frame_no; in io_watchdog_func()
872 spin_unlock_irqrestore(&ohci->lock, flags); in io_watchdog_func()
879 struct ohci_hcd *ohci = hcd_to_ohci (hcd); in ohci_irq() local
880 struct ohci_regs __iomem *regs = ohci->regs; in ohci_irq()
885 * work on all systems (edge triggering for OHCI can be a factor). in ohci_irq()
887 ints = ohci_readl(ohci, &regs->intrstatus); in ohci_irq()
894 ohci->rh_state = OHCI_RH_HALTED; in ohci_irq()
895 ohci_dbg (ohci, "device removed!\n"); in ohci_irq()
901 ints &= ohci_readl(ohci, &regs->intrenable); in ohci_irq()
904 if (ints == 0 || unlikely(ohci->rh_state == OHCI_RH_HALTED)) in ohci_irq()
909 if (quirk_nec(ohci)) { in ohci_irq()
913 ohci_err (ohci, "OHCI Unrecoverable Error, scheduling NEC chip restart\n"); in ohci_irq()
915 ohci_writel (ohci, OHCI_INTR_UE, &regs->intrdisable); in ohci_irq()
917 schedule_work (&ohci->nec_work); in ohci_irq()
919 ohci_err (ohci, "OHCI Unrecoverable Error, disabled\n"); in ohci_irq()
920 ohci->rh_state = OHCI_RH_HALTED; in ohci_irq()
924 ohci_dump(ohci); in ohci_irq()
925 ohci_usb_reset (ohci); in ohci_irq()
929 ohci_dbg(ohci, "rhsc\n"); in ohci_irq()
930 ohci->next_statechange = jiffies + STATECHANGE_DELAY; in ohci_irq()
931 ohci_writel(ohci, OHCI_INTR_RD | OHCI_INTR_RHSC, in ohci_irq()
942 ohci_writel(ohci, OHCI_INTR_RHSC, &regs->intrdisable); in ohci_irq()
951 ohci_dbg(ohci, "resume detect\n"); in ohci_irq()
952 ohci_writel(ohci, OHCI_INTR_RD, &regs->intrstatus); in ohci_irq()
954 if (ohci->autostop) { in ohci_irq()
955 spin_lock (&ohci->lock); in ohci_irq()
956 ohci_rh_resume (ohci); in ohci_irq()
957 spin_unlock (&ohci->lock); in ohci_irq()
962 spin_lock(&ohci->lock); in ohci_irq()
964 update_done_list(ohci); in ohci_irq()
971 ohci_work(ohci); in ohci_irq()
972 if ((ints & OHCI_INTR_SF) != 0 && !ohci->ed_rm_list in ohci_irq()
973 && ohci->rh_state == OHCI_RH_RUNNING) in ohci_irq()
974 ohci_writel (ohci, OHCI_INTR_SF, &regs->intrdisable); in ohci_irq()
976 if (ohci->rh_state == OHCI_RH_RUNNING) { in ohci_irq()
977 ohci_writel (ohci, ints, &regs->intrstatus); in ohci_irq()
979 ++ohci->wdh_cnt; in ohci_irq()
981 ohci_writel (ohci, OHCI_INTR_MIE, &regs->intrenable); in ohci_irq()
983 (void) ohci_readl (ohci, &ohci->regs->control); in ohci_irq()
985 spin_unlock(&ohci->lock); in ohci_irq()
988 if (ohci->rh_state != OHCI_RH_HALTED) { in ohci_irq()
989 ints = ohci_readl(ohci, &regs->intrstatus); in ohci_irq()
990 if (ints && (ints & ohci_readl(ohci, &regs->intrenable))) in ohci_irq()
1001 struct ohci_hcd *ohci = hcd_to_ohci (hcd); in ohci_stop() local
1003 ohci_dump(ohci); in ohci_stop()
1005 if (quirk_nec(ohci)) in ohci_stop()
1006 flush_work(&ohci->nec_work); in ohci_stop()
1007 timer_delete_sync(&ohci->io_watchdog); in ohci_stop()
1008 ohci->prev_frame_no = IO_WATCHDOG_OFF; in ohci_stop()
1010 ohci_writel (ohci, OHCI_INTR_MIE, &ohci->regs->intrdisable); in ohci_stop()
1011 ohci_usb_reset(ohci); in ohci_stop()
1015 if (quirk_amdiso(ohci)) in ohci_stop()
1018 remove_debug_files (ohci); in ohci_stop()
1019 ohci_mem_cleanup (ohci); in ohci_stop()
1020 if (ohci->hcca) { in ohci_stop()
1023 (unsigned long)ohci->hcca, in ohci_stop()
1024 sizeof(*ohci->hcca)); in ohci_stop()
1027 sizeof(*ohci->hcca), in ohci_stop()
1028 ohci->hcca, ohci->hcca_dma); in ohci_stop()
1029 ohci->hcca = NULL; in ohci_stop()
1030 ohci->hcca_dma = 0; in ohci_stop()
1039 int ohci_restart(struct ohci_hcd *ohci) in ohci_restart() argument
1045 ohci_init(ohci); in ohci_restart()
1046 spin_lock_irq(&ohci->lock); in ohci_restart()
1047 ohci->rh_state = OHCI_RH_HALTED; in ohci_restart()
1050 if (!list_empty (&ohci->pending)) in ohci_restart()
1051 ohci_dbg(ohci, "abort schedule...\n"); in ohci_restart()
1052 list_for_each_entry (priv, &ohci->pending, pending) { in ohci_restart()
1059 ed->hwINFO |= cpu_to_hc32(ohci, ED_DEQUEUE); in ohci_restart()
1060 ed_deschedule (ohci, ed); in ohci_restart()
1062 ed->ed_next = ohci->ed_rm_list; in ohci_restart()
1064 ohci->ed_rm_list = ed; in ohci_restart()
1069 ohci_dbg(ohci, "bogus ed %p state %d\n", in ohci_restart()
1076 ohci_work(ohci); in ohci_restart()
1077 spin_unlock_irq(&ohci->lock); in ohci_restart()
1082 for (i = 0; i < NUM_INTS; i++) ohci->load [i] = 0; in ohci_restart()
1083 for (i = 0; i < NUM_INTS; i++) ohci->hcca->int_table [i] = 0; in ohci_restart()
1086 ohci->ed_rm_list = NULL; in ohci_restart()
1089 ohci->ed_controltail = NULL; in ohci_restart()
1090 ohci->ed_bulktail = NULL; in ohci_restart()
1092 if ((temp = ohci_run (ohci)) < 0) { in ohci_restart()
1093 ohci_err (ohci, "can't restart, %d\n", temp); in ohci_restart()
1096 ohci_dbg(ohci, "restart complete\n"); in ohci_restart()
1107 struct ohci_hcd *ohci = hcd_to_ohci (hcd); in ohci_suspend() local
1115 spin_lock_irqsave (&ohci->lock, flags); in ohci_suspend()
1116 ohci_writel(ohci, OHCI_INTR_MIE, &ohci->regs->intrdisable); in ohci_suspend()
1117 (void)ohci_readl(ohci, &ohci->regs->intrdisable); in ohci_suspend()
1120 spin_unlock_irqrestore (&ohci->lock, flags); in ohci_suspend()
1135 struct ohci_hcd *ohci = hcd_to_ohci(hcd); in ohci_resume() local
1143 ohci_usb_reset(ohci); in ohci_resume()
1146 ohci->hc_control = ohci_readl(ohci, &ohci->regs->control); in ohci_resume()
1147 if (ohci->hc_control & (OHCI_CTRL_IR | OHCI_SCHED_ENABLES)) { in ohci_resume()
1150 switch (ohci->hc_control & OHCI_CTRL_HCFS) { in ohci_resume()
1159 spin_lock_irq(&ohci->lock); in ohci_resume()
1160 ohci_rh_resume(ohci); in ohci_resume()
1161 ohci_rh_suspend(ohci, 0); in ohci_resume()
1162 spin_unlock_irq(&ohci->lock); in ohci_resume()
1167 ohci_dbg(ohci, "powerup ports\n"); in ohci_resume()
1168 for (port = 0; port < ohci->num_ports; port++) in ohci_resume()
1169 ohci_writel(ohci, RH_PS_PPS, in ohci_resume()
1170 &ohci->regs->roothub.portstatus[port]); in ohci_resume()
1172 ohci_writel(ohci, OHCI_INTR_MIE, &ohci->regs->intrenable); in ohci_resume()
1173 ohci_readl(ohci, &ohci->regs->intrenable); in ohci_resume()
1194 .product_desc = "OHCI Host Controller",
1257 #include "ohci-sa1111.c"
1262 #include "ohci-ppc-of.c"
1267 #include "ohci-ps3.c"
1272 #include "ohci-sm501.c"
1287 ohci_debug_root = debugfs_create_dir("ohci", usb_debug_root); in ohci_hcd_mod_init()