* [PATCH] spi: Support dev_pm_ops
@ 2010-12-22 13:25 Mark Brown
[not found] ` <1293024339-26589-1-git-send-email-broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
0 siblings, 1 reply; 7+ messages in thread
From: Mark Brown @ 2010-12-22 13:25 UTC (permalink / raw)
To: Grant Likely, Rafael J. Wysocki
Cc: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Mark Brown
Allow SPI drivers to use runtime PM and other dev_pm_ops features by
implementing dev_pm_ops for the bus. The existing bus specific suspend
and resume functions will be called if a driver does not provide dev_pm_ops
allowing for transition to the new model.
Signed-off-by: Mark Brown <broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
---
This depends on the patch 'PM: Prototype the pm_generic_ operations' I
posted recently to the PM and I2C lists, and has not exactly been
thoroughly tested yet.
drivers/spi/spi.c | 92 ++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 84 insertions(+), 8 deletions(-)
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
index 709c836..85ad4b7 100644
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
@@ -28,6 +28,7 @@
#include <linux/mod_devicetable.h>
#include <linux/spi/spi.h>
#include <linux/of_spi.h>
+#include <linux/pm_runtime.h>
static void spidev_release(struct device *dev)
{
@@ -100,9 +101,8 @@ static int spi_uevent(struct device *dev, struct kobj_uevent_env *env)
return 0;
}
-#ifdef CONFIG_PM
-
-static int spi_suspend(struct device *dev, pm_message_t message)
+#ifdef CONFIG_PM_SLEEP
+static int spi_legacy_suspend(struct device *dev, pm_message_t message)
{
int value = 0;
struct spi_driver *drv = to_spi_driver(dev->driver);
@@ -117,7 +117,7 @@ static int spi_suspend(struct device *dev, pm_message_t message)
return value;
}
-static int spi_resume(struct device *dev)
+static int spi_legacy_resume(struct device *dev)
{
int value = 0;
struct spi_driver *drv = to_spi_driver(dev->driver);
@@ -132,18 +132,94 @@ static int spi_resume(struct device *dev)
return value;
}
+static int spi_pm_suspend(struct device *dev)
+{
+ const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;
+
+ if (pm)
+ return pm_generic_suspend(dev);
+ else
+ return spi_legacy_suspend(dev, PMSG_SUSPEND);
+}
+
+static int spi_pm_resume(struct device *dev)
+{
+ const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;
+
+ if (pm)
+ return pm_generic_resume(dev);
+ else
+ return spi_legacy_resume(dev);
+}
+
+static int spi_pm_freeze(struct device *dev)
+{
+ const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;
+
+ if (pm)
+ return pm_generic_freeze(dev);
+ else
+ return spi_legacy_suspend(dev, PMSG_FREEZE);
+}
+
+static int spi_pm_thaw(struct device *dev)
+{
+ const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;
+
+ if (pm)
+ return pm_generic_thaw(dev);
+ else
+ return spi_legacy_resume(dev);
+}
+
+static int spi_pm_poweroff(struct device *dev)
+{
+ const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;
+
+ if (pm)
+ return pm_generic_poweroff(dev);
+ else
+ return spi_legacy_suspend(dev, PMSG_HIBERNATE);
+}
+
+static int spi_pm_restore(struct device *dev)
+{
+ const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;
+
+ if (pm)
+ return pm_generic_restore(dev);
+ else
+ return spi_legacy_resume(dev);
+}
#else
-#define spi_suspend NULL
-#define spi_resume NULL
+#define spi_pm_suspend NULL
+#define spi_pm_resume NULL
+#define spi_pm_freeze NULL
+#define spi_pm_thaw NULL
+#define spi_pm_poweroff NULL
+#define spi_pm_restore NULL
#endif
+static const struct dev_pm_ops spi_pm = {
+ .suspend = spi_pm_suspend,
+ .resume = spi_pm_resume,
+ .freeze = spi_pm_freeze,
+ .thaw = spi_pm_thaw,
+ .poweroff = spi_pm_poweroff,
+ .restore = spi_pm_restore,
+ SET_RUNTIME_PM_OPS(
+ pm_generic_runtime_suspend,
+ pm_generic_runtime_resume,
+ pm_generic_runtime_idle
+ )
+};
+
struct bus_type spi_bus_type = {
.name = "spi",
.dev_attrs = spi_dev_attrs,
.match = spi_match_device,
.uevent = spi_uevent,
- .suspend = spi_suspend,
- .resume = spi_resume,
+ .pm = &spi_pm,
};
EXPORT_SYMBOL_GPL(spi_bus_type);
--
1.7.2.3
------------------------------------------------------------------------------
Forrester recently released a report on the Return on Investment (ROI) of
Google Apps. They found a 300% ROI, 38%-56% cost savings, and break-even
within 7 months. Over 3 million businesses have gone Google with Google Apps:
an online email calendar, and document program that's accessible from your
browser. Read the Forrester report: http://p.sf.net/sfu/googleapps-sfnew
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] spi: Support dev_pm_ops
[not found] ` <1293024339-26589-1-git-send-email-broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
@ 2010-12-22 13:28 ` Rafael J. Wysocki
[not found] ` <201012221428.24040.rjw-KKrjLPT3xs0@public.gmane.org>
0 siblings, 1 reply; 7+ messages in thread
From: Rafael J. Wysocki @ 2010-12-22 13:28 UTC (permalink / raw)
To: Mark Brown; +Cc: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
On Wednesday, December 22, 2010, Mark Brown wrote:
> Allow SPI drivers to use runtime PM and other dev_pm_ops features by
> implementing dev_pm_ops for the bus. The existing bus specific suspend
> and resume functions will be called if a driver does not provide dev_pm_ops
> allowing for transition to the new model.
>
> Signed-off-by: Mark Brown <broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
It looks good to me.
Thanks,
Rafael
> ---
>
> This depends on the patch 'PM: Prototype the pm_generic_ operations' I
> posted recently to the PM and I2C lists, and has not exactly been
> thoroughly tested yet.
>
> drivers/spi/spi.c | 92 ++++++++++++++++++++++++++++++++++++++++++++++++-----
> 1 files changed, 84 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
> index 709c836..85ad4b7 100644
> --- a/drivers/spi/spi.c
> +++ b/drivers/spi/spi.c
> @@ -28,6 +28,7 @@
> #include <linux/mod_devicetable.h>
> #include <linux/spi/spi.h>
> #include <linux/of_spi.h>
> +#include <linux/pm_runtime.h>
>
> static void spidev_release(struct device *dev)
> {
> @@ -100,9 +101,8 @@ static int spi_uevent(struct device *dev, struct kobj_uevent_env *env)
> return 0;
> }
>
> -#ifdef CONFIG_PM
> -
> -static int spi_suspend(struct device *dev, pm_message_t message)
> +#ifdef CONFIG_PM_SLEEP
> +static int spi_legacy_suspend(struct device *dev, pm_message_t message)
> {
> int value = 0;
> struct spi_driver *drv = to_spi_driver(dev->driver);
> @@ -117,7 +117,7 @@ static int spi_suspend(struct device *dev, pm_message_t message)
> return value;
> }
>
> -static int spi_resume(struct device *dev)
> +static int spi_legacy_resume(struct device *dev)
> {
> int value = 0;
> struct spi_driver *drv = to_spi_driver(dev->driver);
> @@ -132,18 +132,94 @@ static int spi_resume(struct device *dev)
> return value;
> }
>
> +static int spi_pm_suspend(struct device *dev)
> +{
> + const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;
> +
> + if (pm)
> + return pm_generic_suspend(dev);
> + else
> + return spi_legacy_suspend(dev, PMSG_SUSPEND);
> +}
> +
> +static int spi_pm_resume(struct device *dev)
> +{
> + const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;
> +
> + if (pm)
> + return pm_generic_resume(dev);
> + else
> + return spi_legacy_resume(dev);
> +}
> +
> +static int spi_pm_freeze(struct device *dev)
> +{
> + const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;
> +
> + if (pm)
> + return pm_generic_freeze(dev);
> + else
> + return spi_legacy_suspend(dev, PMSG_FREEZE);
> +}
> +
> +static int spi_pm_thaw(struct device *dev)
> +{
> + const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;
> +
> + if (pm)
> + return pm_generic_thaw(dev);
> + else
> + return spi_legacy_resume(dev);
> +}
> +
> +static int spi_pm_poweroff(struct device *dev)
> +{
> + const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;
> +
> + if (pm)
> + return pm_generic_poweroff(dev);
> + else
> + return spi_legacy_suspend(dev, PMSG_HIBERNATE);
> +}
> +
> +static int spi_pm_restore(struct device *dev)
> +{
> + const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;
> +
> + if (pm)
> + return pm_generic_restore(dev);
> + else
> + return spi_legacy_resume(dev);
> +}
> #else
> -#define spi_suspend NULL
> -#define spi_resume NULL
> +#define spi_pm_suspend NULL
> +#define spi_pm_resume NULL
> +#define spi_pm_freeze NULL
> +#define spi_pm_thaw NULL
> +#define spi_pm_poweroff NULL
> +#define spi_pm_restore NULL
> #endif
>
> +static const struct dev_pm_ops spi_pm = {
> + .suspend = spi_pm_suspend,
> + .resume = spi_pm_resume,
> + .freeze = spi_pm_freeze,
> + .thaw = spi_pm_thaw,
> + .poweroff = spi_pm_poweroff,
> + .restore = spi_pm_restore,
> + SET_RUNTIME_PM_OPS(
> + pm_generic_runtime_suspend,
> + pm_generic_runtime_resume,
> + pm_generic_runtime_idle
> + )
> +};
> +
> struct bus_type spi_bus_type = {
> .name = "spi",
> .dev_attrs = spi_dev_attrs,
> .match = spi_match_device,
> .uevent = spi_uevent,
> - .suspend = spi_suspend,
> - .resume = spi_resume,
> + .pm = &spi_pm,
> };
> EXPORT_SYMBOL_GPL(spi_bus_type);
>
>
------------------------------------------------------------------------------
Forrester recently released a report on the Return on Investment (ROI) of
Google Apps. They found a 300% ROI, 38%-56% cost savings, and break-even
within 7 months. Over 3 million businesses have gone Google with Google Apps:
an online email calendar, and document program that's accessible from your
browser. Read the Forrester report: http://p.sf.net/sfu/googleapps-sfnew
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] spi: Support dev_pm_ops
[not found] ` <201012221428.24040.rjw-KKrjLPT3xs0@public.gmane.org>
@ 2010-12-24 8:52 ` Grant Likely
[not found] ` <20101224085255.GE5544-MrY2KI0G/OVr83L8+7iqerDks+cytr/Z@public.gmane.org>
0 siblings, 1 reply; 7+ messages in thread
From: Grant Likely @ 2010-12-24 8:52 UTC (permalink / raw)
To: Rafael J. Wysocki
Cc: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Mark Brown
On Wed, Dec 22, 2010 at 02:28:23PM +0100, Rafael J. Wysocki wrote:
> On Wednesday, December 22, 2010, Mark Brown wrote:
> > Allow SPI drivers to use runtime PM and other dev_pm_ops features by
> > implementing dev_pm_ops for the bus. The existing bus specific suspend
> > and resume functions will be called if a driver does not provide dev_pm_ops
> > allowing for transition to the new model.
> >
> > Signed-off-by: Mark Brown <broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
>
> It looks good to me.
I'll take that as an ack.
picked up for -next, thanks.
g.
>
> Thanks,
> Rafael
>
>
> > ---
> >
> > This depends on the patch 'PM: Prototype the pm_generic_ operations' I
> > posted recently to the PM and I2C lists, and has not exactly been
> > thoroughly tested yet.
> >
> > drivers/spi/spi.c | 92 ++++++++++++++++++++++++++++++++++++++++++++++++-----
> > 1 files changed, 84 insertions(+), 8 deletions(-)
> >
> > diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
> > index 709c836..85ad4b7 100644
> > --- a/drivers/spi/spi.c
> > +++ b/drivers/spi/spi.c
> > @@ -28,6 +28,7 @@
> > #include <linux/mod_devicetable.h>
> > #include <linux/spi/spi.h>
> > #include <linux/of_spi.h>
> > +#include <linux/pm_runtime.h>
> >
> > static void spidev_release(struct device *dev)
> > {
> > @@ -100,9 +101,8 @@ static int spi_uevent(struct device *dev, struct kobj_uevent_env *env)
> > return 0;
> > }
> >
> > -#ifdef CONFIG_PM
> > -
> > -static int spi_suspend(struct device *dev, pm_message_t message)
> > +#ifdef CONFIG_PM_SLEEP
> > +static int spi_legacy_suspend(struct device *dev, pm_message_t message)
> > {
> > int value = 0;
> > struct spi_driver *drv = to_spi_driver(dev->driver);
> > @@ -117,7 +117,7 @@ static int spi_suspend(struct device *dev, pm_message_t message)
> > return value;
> > }
> >
> > -static int spi_resume(struct device *dev)
> > +static int spi_legacy_resume(struct device *dev)
> > {
> > int value = 0;
> > struct spi_driver *drv = to_spi_driver(dev->driver);
> > @@ -132,18 +132,94 @@ static int spi_resume(struct device *dev)
> > return value;
> > }
> >
> > +static int spi_pm_suspend(struct device *dev)
> > +{
> > + const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;
> > +
> > + if (pm)
> > + return pm_generic_suspend(dev);
> > + else
> > + return spi_legacy_suspend(dev, PMSG_SUSPEND);
> > +}
> > +
> > +static int spi_pm_resume(struct device *dev)
> > +{
> > + const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;
> > +
> > + if (pm)
> > + return pm_generic_resume(dev);
> > + else
> > + return spi_legacy_resume(dev);
> > +}
> > +
> > +static int spi_pm_freeze(struct device *dev)
> > +{
> > + const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;
> > +
> > + if (pm)
> > + return pm_generic_freeze(dev);
> > + else
> > + return spi_legacy_suspend(dev, PMSG_FREEZE);
> > +}
> > +
> > +static int spi_pm_thaw(struct device *dev)
> > +{
> > + const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;
> > +
> > + if (pm)
> > + return pm_generic_thaw(dev);
> > + else
> > + return spi_legacy_resume(dev);
> > +}
> > +
> > +static int spi_pm_poweroff(struct device *dev)
> > +{
> > + const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;
> > +
> > + if (pm)
> > + return pm_generic_poweroff(dev);
> > + else
> > + return spi_legacy_suspend(dev, PMSG_HIBERNATE);
> > +}
> > +
> > +static int spi_pm_restore(struct device *dev)
> > +{
> > + const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;
> > +
> > + if (pm)
> > + return pm_generic_restore(dev);
> > + else
> > + return spi_legacy_resume(dev);
> > +}
> > #else
> > -#define spi_suspend NULL
> > -#define spi_resume NULL
> > +#define spi_pm_suspend NULL
> > +#define spi_pm_resume NULL
> > +#define spi_pm_freeze NULL
> > +#define spi_pm_thaw NULL
> > +#define spi_pm_poweroff NULL
> > +#define spi_pm_restore NULL
> > #endif
> >
> > +static const struct dev_pm_ops spi_pm = {
> > + .suspend = spi_pm_suspend,
> > + .resume = spi_pm_resume,
> > + .freeze = spi_pm_freeze,
> > + .thaw = spi_pm_thaw,
> > + .poweroff = spi_pm_poweroff,
> > + .restore = spi_pm_restore,
> > + SET_RUNTIME_PM_OPS(
> > + pm_generic_runtime_suspend,
> > + pm_generic_runtime_resume,
> > + pm_generic_runtime_idle
> > + )
> > +};
> > +
> > struct bus_type spi_bus_type = {
> > .name = "spi",
> > .dev_attrs = spi_dev_attrs,
> > .match = spi_match_device,
> > .uevent = spi_uevent,
> > - .suspend = spi_suspend,
> > - .resume = spi_resume,
> > + .pm = &spi_pm,
> > };
> > EXPORT_SYMBOL_GPL(spi_bus_type);
> >
> >
>
------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and,
should the need arise, upgrade to a full multi-node Oracle RAC database
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] spi: Support dev_pm_ops
[not found] ` <20101224085255.GE5544-MrY2KI0G/OVr83L8+7iqerDks+cytr/Z@public.gmane.org>
@ 2010-12-24 11:31 ` Mark Brown
[not found] ` <20101224113127.GA15474-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
0 siblings, 1 reply; 7+ messages in thread
From: Mark Brown @ 2010-12-24 11:31 UTC (permalink / raw)
To: Grant Likely
Cc: Rafael J. Wysocki, spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
On Fri, Dec 24, 2010 at 01:52:55AM -0700, Grant Likely wrote:
> On Wed, Dec 22, 2010 at 02:28:23PM +0100, Rafael J. Wysocki wrote:
> > > Allow SPI drivers to use runtime PM and other dev_pm_ops features by
> > > implementing dev_pm_ops for the bus. The existing bus specific suspend
> > > and resume functions will be called if a driver does not provide dev_pm_ops
> > > allowing for transition to the new model.
> > >
> > > Signed-off-by: Mark Brown <broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
> > It looks good to me.
> I'll take that as an ack.
> picked up for -next, thanks.
Note that as mentioned it does depend on the patch prototyping the
generic ops so it might be better to merge via the PM tree or wait for
things to shake out in the merge window.
------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and,
should the need arise, upgrade to a full multi-node Oracle RAC database
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] spi: Support dev_pm_ops
[not found] ` <20101224113127.GA15474-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
@ 2010-12-24 13:28 ` Rafael J. Wysocki
[not found] ` <201012241428.37152.rjw-KKrjLPT3xs0@public.gmane.org>
0 siblings, 1 reply; 7+ messages in thread
From: Rafael J. Wysocki @ 2010-12-24 13:28 UTC (permalink / raw)
To: Mark Brown; +Cc: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
On Friday, December 24, 2010, Mark Brown wrote:
> On Fri, Dec 24, 2010 at 01:52:55AM -0700, Grant Likely wrote:
> > On Wed, Dec 22, 2010 at 02:28:23PM +0100, Rafael J. Wysocki wrote:
>
> > > > Allow SPI drivers to use runtime PM and other dev_pm_ops features by
> > > > implementing dev_pm_ops for the bus. The existing bus specific suspend
> > > > and resume functions will be called if a driver does not provide dev_pm_ops
> > > > allowing for transition to the new model.
> > > >
> > > > Signed-off-by: Mark Brown <broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
>
> > > It looks good to me.
>
> > I'll take that as an ack.
>
> > picked up for -next, thanks.
>
> Note that as mentioned it does depend on the patch prototyping the
> generic ops so it might be better to merge via the PM tree or wait for
> things to shake out in the merge window.
I can take this one the the PM tree, but I need an ACK from Grant.
Thanks,
Rafael
------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and,
should the need arise, upgrade to a full multi-node Oracle RAC database
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] spi: Support dev_pm_ops
[not found] ` <201012241428.37152.rjw-KKrjLPT3xs0@public.gmane.org>
@ 2010-12-24 18:23 ` Grant Likely
[not found] ` <AANLkTim6uhaO8=oWDvufG7yOyyy+UvcGFAqZHX_u2D6x-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
0 siblings, 1 reply; 7+ messages in thread
From: Grant Likely @ 2010-12-24 18:23 UTC (permalink / raw)
To: Rafael J. Wysocki
Cc: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Mark Brown
On Fri, Dec 24, 2010 at 6:28 AM, Rafael J. Wysocki <rjw-KKrjLPT3xs0@public.gmane.org> wrote:
> On Friday, December 24, 2010, Mark Brown wrote:
>> On Fri, Dec 24, 2010 at 01:52:55AM -0700, Grant Likely wrote:
>> > On Wed, Dec 22, 2010 at 02:28:23PM +0100, Rafael J. Wysocki wrote:
>>
>> > > > Allow SPI drivers to use runtime PM and other dev_pm_ops features by
>> > > > implementing dev_pm_ops for the bus. The existing bus specific suspend
>> > > > and resume functions will be called if a driver does not provide dev_pm_ops
>> > > > allowing for transition to the new model.
>> > > >
>> > > > Signed-off-by: Mark Brown <broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
>>
>> > > It looks good to me.
>>
>> > I'll take that as an ack.
>>
>> > picked up for -next, thanks.
>>
>> Note that as mentioned it does depend on the patch prototyping the
>> generic ops so it might be better to merge via the PM tree or wait for
>> things to shake out in the merge window.
>
> I can take this one the the PM tree, but I need an ACK from Grant.
Yeah, it failed on sanity testing on my end. Dropping from my tree.
Rafael, feel free to take it via the PM tree.
g.
------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and,
should the need arise, upgrade to a full multi-node Oracle RAC database
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] spi: Support dev_pm_ops
[not found] ` <AANLkTim6uhaO8=oWDvufG7yOyyy+UvcGFAqZHX_u2D6x-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2010-12-25 13:55 ` Rafael J. Wysocki
0 siblings, 0 replies; 7+ messages in thread
From: Rafael J. Wysocki @ 2010-12-25 13:55 UTC (permalink / raw)
To: Grant Likely
Cc: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Mark Brown
On Friday, December 24, 2010, Grant Likely wrote:
> On Fri, Dec 24, 2010 at 6:28 AM, Rafael J. Wysocki <rjw-KKrjLPT3xs0@public.gmane.org> wrote:
> > On Friday, December 24, 2010, Mark Brown wrote:
> >> On Fri, Dec 24, 2010 at 01:52:55AM -0700, Grant Likely wrote:
> >> > On Wed, Dec 22, 2010 at 02:28:23PM +0100, Rafael J. Wysocki wrote:
> >>
> >> > > > Allow SPI drivers to use runtime PM and other dev_pm_ops features by
> >> > > > implementing dev_pm_ops for the bus. The existing bus specific suspend
> >> > > > and resume functions will be called if a driver does not provide dev_pm_ops
> >> > > > allowing for transition to the new model.
> >> > > >
> >> > > > Signed-off-by: Mark Brown <broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
> >>
> >> > > It looks good to me.
> >>
> >> > I'll take that as an ack.
> >>
> >> > picked up for -next, thanks.
> >>
> >> Note that as mentioned it does depend on the patch prototyping the
> >> generic ops so it might be better to merge via the PM tree or wait for
> >> things to shake out in the merge window.
> >
> > I can take this one the the PM tree, but I need an ACK from Grant.
>
> Yeah, it failed on sanity testing on my end. Dropping from my tree.
> Rafael, feel free to take it via the PM tree.
OK, I'm taking that as an ACK. :-)
Thanks,
Rafael
------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and,
should the need arise, upgrade to a full multi-node Oracle RAC database
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2010-12-25 13:55 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-12-22 13:25 [PATCH] spi: Support dev_pm_ops Mark Brown
[not found] ` <1293024339-26589-1-git-send-email-broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2010-12-22 13:28 ` Rafael J. Wysocki
[not found] ` <201012221428.24040.rjw-KKrjLPT3xs0@public.gmane.org>
2010-12-24 8:52 ` Grant Likely
[not found] ` <20101224085255.GE5544-MrY2KI0G/OVr83L8+7iqerDks+cytr/Z@public.gmane.org>
2010-12-24 11:31 ` Mark Brown
[not found] ` <20101224113127.GA15474-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2010-12-24 13:28 ` Rafael J. Wysocki
[not found] ` <201012241428.37152.rjw-KKrjLPT3xs0@public.gmane.org>
2010-12-24 18:23 ` Grant Likely
[not found] ` <AANLkTim6uhaO8=oWDvufG7yOyyy+UvcGFAqZHX_u2D6x-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-12-25 13:55 ` Rafael J. Wysocki
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).