]> Pileus Git - ~andy/linux/blobdiff - drivers/usb/host/ehci-hub.c
USB: EHCI: remove ehci_port_power() routine
[~andy/linux] / drivers / usb / host / ehci-hub.c
index a2c56cdd2c3a40a8d63054d06bd05402dda53049..a59c61fea09f3fe9bb76c12a622821bfe7db88b3 100644 (file)
@@ -56,6 +56,19 @@ static void ehci_handover_companion_ports(struct ehci_hcd *ehci)
        if (!ehci->owned_ports)
                return;
 
+       /* Make sure the ports are powered */
+       port = HCS_N_PORTS(ehci->hcs_params);
+       while (port--) {
+               if (test_bit(port, &ehci->owned_ports)) {
+                       reg = &ehci->regs->port_status[port];
+                       status = ehci_readl(ehci, reg) & ~PORT_RWC_BITS;
+                       if (!(status & PORT_POWER)) {
+                               status |= PORT_POWER;
+                               ehci_writel(ehci, status, reg);
+                       }
+               }
+       }
+
        /* Give the connections some time to appear */
        msleep(20);