Re: [PATCH/RFC] platform_bus: Allow runtime PM by default

From: Mark Brown
Date: Sat Mar 27 2010 - 15:40:57 EST


On 26 Mar 2010, at 22:35, "Rafael J. Wysocki" <rjw@xxxxxxx> wrote:

On Friday 26 March 2010, Mark Brown wrote:
Currently the default runtime PM callbacks for platform devices return
-ENOSYS, preventing the use of runtime PM platforms until they have
provided at least a default implementation. This hinders the use of
runtime PM by devices which work with many platforms such as memory
mapped devices, MFDs and on chip IPs shared by multiple architectures.

Change the default implementation to the standard pm_generic_runtime
one, allowing drivers to use runtime PM without per-architecture
changes.

Signed-off-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx>

Acked-by: Rafael J. Wysocki <rjw@xxxxxxx>

Is it very urgent?

Not especially - worst case you just don't get devices suspending which isn't the end of the world and there's no build time dependencies introduced.


Rafael


---

I'm not 100% sure why the curret implementation returns -ENOSYS - I've
got a horrible feeling I might be breaking something somewhere.

drivers/base/platform.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/base/platform.c b/drivers/base/platform.c
index 43479a9..eb0f8d9 100644
--- a/drivers/base/platform.c
+++ b/drivers/base/platform.c
@@ -967,17 +967,17 @@ static int platform_pm_restore_noirq(struct device *dev)

int __weak platform_pm_runtime_suspend(struct device *dev)
{
- return -ENOSYS;
+ return pm_generic_runtime_suspend(dev);
};

int __weak platform_pm_runtime_resume(struct device *dev)
{
- return -ENOSYS;
+ return pm_generic_runtime_resume(dev);
};

int __weak platform_pm_runtime_idle(struct device *dev)
{
- return -ENOSYS;
+ return pm_generic_runtime_idle(dev);
};

#else /* !CONFIG_PM_RUNTIME */


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/