• Alan Stern's avatar
    EHCI: update PM methods in ehci-tegra.c · ebf20de4
    Alan Stern authored
    This patch (as1547) rearranges the Power Management parts of the
    ehci-tegra driver to match the conventions used in other EHCI platform
    drivers.  In particular, the controller should not be powered down by
    the root hub's suspend routine; the controller's power level should be
    managed by the controller's own PM methods.
    
    The end result of the patch is that the standard ehci_bus_suspend()
    and ehci_bus_resume() methods can be used instead of special-purpose
    routines.  The driver now uses the standard dev_pm_ops methods instead
    of legacy power management.  Since there is no supported wakeup
    mechanism for the controller, runtime suspend is forbidden by default
    (this can be overridden via sysfs, if desired).
    
    These adjustments are needed in order to make ehci-tegra compatible
    with recent changes to the USB core.  The core now checks the root
    hub's status following bus suspend; if the controller is automatically
    powered down during bus suspend then the check will fail and the root
    hub will be resumed immediately.  Doing the controller power-down in a
    separate method avoids this problem.
    Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
    Acked-by: default avatarStephen Warren <swarren@wwwdotorg.org>
    Tested-by: default avatarStephen Warren <swarren@wwwdotorg.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    ebf20de4
ehci-tegra.c 21.7 KB