diff options
author | Daniel Mack <zonque@gmail.com> | 2013-11-26 13:31:14 +0100 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2013-11-26 10:58:16 -0600 |
commit | 869c597829817af4b9f85c5e4181c622918dc781 (patch) | |
tree | 412253db26f14c15ec9f41a8302cf6e422e1a609 /drivers/usb/musb/musb_host.c | |
parent | b991f9b77c029135f6e0d1d5d16869ebf755c4c0 (diff) | |
download | blackbird-op-linux-869c597829817af4b9f85c5e4181c622918dc781.tar.gz blackbird-op-linux-869c597829817af4b9f85c5e4181c622918dc781.zip |
usb: musb: dsps: add support for suspend and resume
The dsps platform needs to save save some registers at suspend time and
restore them after resume. This patch adds a struct for these registers,
and also lets the musb core know that the core registers need to be
saved as well.
We also have to explicitly de-assert the port reset upon resume on this
platform, but musb_port_reset() should not be called from glue layers.
Hence, introduce a flag in struct musb_hdrc_config for this.
Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/musb/musb_host.c')
-rw-r--r-- | drivers/usb/musb/musb_host.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c index 81caf9f4eb1a..822413899260 100644 --- a/drivers/usb/musb/musb_host.c +++ b/drivers/usb/musb/musb_host.c @@ -2464,7 +2464,12 @@ static int musb_bus_suspend(struct usb_hcd *hcd) static int musb_bus_resume(struct usb_hcd *hcd) { - /* resuming child port does the work */ + struct musb *musb = hcd_to_musb(hcd); + + if (musb->config && + musb->config->host_port_deassert_reset_at_resume) + musb_port_reset(musb, false); + return 0; } |