On Thu, Sep 21, 2017 at 12:31 AM, Rajat Jain <rajatja@xxxxxxxxxx> wrote: > Ref: https://lkml.org/lkml/2017/9/19/649 > > The intel-lpss hosts the designware i2c controller device, which > needs to be up and running until all its i2c child devices have > suspended (child devices need to be accessible over i2c until > suspend_late() has been called for all those devices). > > So lets delay the resetting of the controller until suspend_late(). > I thought of renaming function to say *_late / *_early but that > might cause confusion since the same function is also used for runtime > suspend/resume. > > Fixes: 0b471aaa0e1a ("Put I2C and SPI controllers into reset state on suspend") > Signed-off-by: Rajat Jain <rajatja@xxxxxxxxxx> > --- > drivers/mfd/intel-lpss.h | 7 +------ > 1 file changed, 1 insertion(+), 6 deletions(-) > > diff --git a/drivers/mfd/intel-lpss.h b/drivers/mfd/intel-lpss.h > index 694116630ffa..865bbeaaf00c 100644 > --- a/drivers/mfd/intel-lpss.h > +++ b/drivers/mfd/intel-lpss.h > @@ -38,12 +38,7 @@ int intel_lpss_resume(struct device *dev); > #ifdef CONFIG_PM_SLEEP > #define INTEL_LPSS_SLEEP_PM_OPS \ > .prepare = intel_lpss_prepare, \ > - .suspend = intel_lpss_suspend, \ > - .resume = intel_lpss_resume, \ > - .freeze = intel_lpss_suspend, \ > - .thaw = intel_lpss_resume, \ > - .poweroff = intel_lpss_suspend, \ > - .restore = intel_lpss_resume, > + SET_LATE_SYSTEM_SLEEP_PM_OPS(intel_lpss_suspend, intel_lpss_resume) > #else > #define INTEL_LPSS_SLEEP_PM_OPS > #endif So I sent this exact patch several days ago: https://patchwork.kernel.org/patch/9939809/ Thanks, Rafael