diff mbox series

[2/2] mfd: intel-lpss: switch to suspend_late()/resume_early()

Message ID 20170920223152.100641-2-rajatja@google.com
State Superseded
Headers show
Series [1/2] i2c: designware: switch to suspend_late/resume_early | expand

Commit Message

Rajat Jain Sept. 20, 2017, 10:31 p.m. UTC
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@google.com>
---
 drivers/mfd/intel-lpss.h | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

Comments

Rafael J. Wysocki Sept. 21, 2017, 12:27 a.m. UTC | #1
On Thu, Sep 21, 2017 at 12:31 AM, Rajat Jain <rajatja@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 <rajatja@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
Rajat Jain Sept. 21, 2017, 1:14 a.m. UTC | #2
On Wed, Sep 20, 2017 at 5:27 PM, Rafael J. Wysocki <rafael@kernel.org> wrote:
> On Thu, Sep 21, 2017 at 12:31 AM, Rajat Jain <rajatja@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 <rajatja@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/

Sorry, I missed it. Please consider my patch withdrawn / self-nack'ed
in favor of Rafael's patch.

>
> Thanks,
> Rafael
Lee Jones Sept. 21, 2017, 8:41 a.m. UTC | #3
On Thu, 21 Sep 2017, Rafael J. Wysocki wrote:

> On Thu, Sep 21, 2017 at 12:31 AM, Rajat Jain <rajatja@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 <rajatja@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/

You did?  Any reason you didn't send it to me?
Rafael J. Wysocki Sept. 21, 2017, 2:10 p.m. UTC | #4
On Thursday, September 21, 2017 10:41:33 AM CEST Lee Jones wrote:
> On Thu, 21 Sep 2017, Rafael J. Wysocki wrote:
> 
> > On Thu, Sep 21, 2017 at 12:31 AM, Rajat Jain <rajatja@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 <rajatja@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/
> 
> You did?

Yes, I did.

> Any reason you didn't send it to me?

Well, Lee Jones <lee@kernel.org> is very much in the CC list of it.

Was I expected to use a different e-mail address for that?

Thanks,
Rafael
Lee Jones Sept. 21, 2017, 3:17 p.m. UTC | #5
On Thu, 21 Sep 2017, Rafael J. Wysocki wrote:

> On Thursday, September 21, 2017 10:41:33 AM CEST Lee Jones wrote:
> > On Thu, 21 Sep 2017, Rafael J. Wysocki wrote:
> > 
> > > On Thu, Sep 21, 2017 at 12:31 AM, Rajat Jain <rajatja@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 <rajatja@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/
> > 
> > You did?
> 
> Yes, I did.
> 
> > Any reason you didn't send it to me?
> 
> Well, Lee Jones <lee@kernel.org> is very much in the CC list of it.
> 
> Was I expected to use a different e-mail address for that?

I don't monitor that one.  Better to use the one in MAINTAINERS.
Rafael J. Wysocki Sept. 21, 2017, 3:18 p.m. UTC | #6
On Thu, Sep 21, 2017 at 5:17 PM, Lee Jones <lee.jones@linaro.org> wrote:
> On Thu, 21 Sep 2017, Rafael J. Wysocki wrote:
>
>> On Thursday, September 21, 2017 10:41:33 AM CEST Lee Jones wrote:
>> > On Thu, 21 Sep 2017, Rafael J. Wysocki wrote:
>> >
>> > > On Thu, Sep 21, 2017 at 12:31 AM, Rajat Jain <rajatja@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 <rajatja@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/
>> >
>> > You did?
>>
>> Yes, I did.
>>
>> > Any reason you didn't send it to me?
>>
>> Well, Lee Jones <lee@kernel.org> is very much in the CC list of it.
>>
>> Was I expected to use a different e-mail address for that?
>
> I don't monitor that one.  Better to use the one in MAINTAINERS.

OK, I will in the future.
diff mbox series

Patch

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