mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-04-28 17:14:38 +00:00
usb: musb: unconditionally save and restore the context on suspend
It appears not all platforms featuring a musb core need to save the musb core registers at suspend time and restore them on resume. The dsps platform does, however, and because it shouldn't cause any trouble on other platforms, do it unconditionally for all of them. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
parent
e0a6104e06
commit
c338412b5d
1 changed files with 13 additions and 1 deletions
|
@ -2224,16 +2224,28 @@ static int musb_suspend(struct device *dev)
|
|||
*/
|
||||
}
|
||||
|
||||
musb_save_context(musb);
|
||||
|
||||
spin_unlock_irqrestore(&musb->lock, flags);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int musb_resume_noirq(struct device *dev)
|
||||
{
|
||||
/* for static cmos like DaVinci, register values were preserved
|
||||
struct musb *musb = dev_to_musb(dev);
|
||||
|
||||
/*
|
||||
* For static cmos like DaVinci, register values were preserved
|
||||
* unless for some reason the whole soc powered down or the USB
|
||||
* module got reset through the PSC (vs just being disabled).
|
||||
*
|
||||
* For the DSPS glue layer though, a full register restore has to
|
||||
* be done. As it shouldn't harm other platforms, we do it
|
||||
* unconditionally.
|
||||
*/
|
||||
|
||||
musb_restore_context(musb);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue