On Wed, May 20, 2015 at 10:33:13PM +0800, Jisheng Zhang wrote: > Commit 1fc2fe204cb9 ("i2c: designware: Add runtime PM hooks") adds > runtime pm support using the same ops for system pm and runtime pm. > When suspend to ram, the i2c host may have been runtime suspended, thus > i2c_dw_disable() hangs. > > Previously, I fixed this issue by separating ops for system pm and > runtime pm, then in the system suspend/resume path, runtime pm apis are > used to ensure the device is at correct state. > > But as Mika Westerberg pointed out: it sounds a bit silly to resume the > device just because you want to call i2c_dw_disable() for it before > suspending again. He then suggested an elegant solution which keeps the > device runtime suspended during system suspend with the help of > 'dev->power.direct_complete'. This patch adopted this solution, and in > fact Mika provided the main code. > > Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Fixed the 80 char thingie and applied to for-next, thanks!
Attachment:
signature.asc
Description: Digital signature