• David Brownell's avatar
    [PATCH] USB: OHCI root hub suspend/resume/wakeup · c8ae88da
    David Brownell authored
    This patch goes on top of the previous two, and the hcd-0506 patch:
    
      - Moves root hub suspend/resume code out of PCI-specific bus glue
        into generic hub code.  That way it's easy to re-use it even
        for non-PCI implementations like SA1111, OMAP, and LH7A404.
        (Plus, given CONFIG_USB_SUSPEND, it can be invoked with sysfs.)
    
      - Root hub suspend is a lot more careful, as is root hub resume.
        Pending transactions are now shut down more consistently; and
        more registers are re-initialized on resume.
    
      - The PCI bus glue is now left with truly generic PCI stuff, plus
        some PMAC-specific stuff (which doesn't include irq disabling
        any more, hcd-0506 moves that up a level in the stack).
    
      - Remote wakeup support is basically working for the root hub.
        (given CONFIG_USB_SUSPEND to suspend devices and enable it).
    
      - Idle HCs will now automatically suspend themselves, and resume
        as necessary.  This saves a certain amount of power on most
        systems, and matches what UHCI has been doing for a while.
    
    The large size of this patch is mostly because of moving that
    root hub suspend/resume code out of the PCI-specific glue.
    c8ae88da
ohci-hub.c 14.4 KB