xhci: Refactor bus suspend state into a struct.

There are several variables in the xhci_hcd structure that are related to
bus suspend and resume state.  There are a couple different port status
arrays that are accessed by port index.  Move those variables into a
separate structure, xhci_bus_state.  Stash that structure in xhci_hcd.

When we have two roothhubs that can be suspended and resumed separately,
we can have two xhci_bus_states, and index into the port arrays in each
structure with the fake roothub port index (not the real hardware port
index).

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Esse commit está contido em:
Sarah Sharp
2010-12-15 12:47:14 -08:00
commit 20b67cf51f
5 arquivos alterados com 59 adições e 34 exclusões

Ver arquivo

@@ -694,7 +694,10 @@ int xhci_resume(struct xhci_hcd *xhci, bool hibernated)
struct usb_hcd *hcd = xhci_to_hcd(xhci);
int retval;
if (time_before(jiffies, xhci->next_statechange))
/* Wait a bit if the bus needs to settle from the transistion to
* suspend.
*/
if (time_before(jiffies, xhci->bus_state[0].next_statechange))
msleep(100);
spin_lock_irq(&xhci->lock);