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

Rafael J. Wysocki
2010-03-26T22:32:22Z

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@opensource.wolfsonmicro.com>

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

Is it very urgent?

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 */
>