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

Mark Brown
2010-03-27T19:40:51Z

On 26 Mar 2010, at 22:35, "Rafael J. Wysocki" <rjw@sisk.pl> 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@opensource.wolfsonmicro.com>
>
> Acked-by: Rafael J. Wysocki <rjw@sisk.pl>
>
> 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 */
>>
>