/* Halt HC, turn off all ports, and let the BIOS use the companion controllers. Must be called with interrupts enabled and the lock not held.  */
static void ehci_silence_controller(struct ehci_hcd *ehci)
/* Halt HC, turn off all ports, and let the BIOS use the companion controllers. Must be called with interrupts enabled and the lock not held.  */
static void ehci_silence_controller(struct ehci_hcd *ehci)
{
    ehci_halt(ehci);
    hal_spin_lock(&ehci->lock);
    ehci->rh_state = EHCI_RH_HALTED;
    ehci_turn_off_all_ports(ehci);
    ehci_writel(ehci, 0, &ehci->regs->configured_flag);
    ehci_readl(ehci, &ehci->regs->configured_flag);
    hal_spin_unlock(&ehci->lock);
}