On Thu, Sep 21, 2017 at 12:31 AM, Rajat Jain <raja...@google.com> 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 <raja...@google.com>
> ---
>  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

Reply via email to