From: Magnus Damm <damm@xxxxxxxxxx> This patch allows bus-less devices to pass as being suspended even though there is no dev_pm_ops structure to use to get the Runtime PM callbacks. Workarounds the fact that "struct device platform_bus" becomes the parent of otherwise parent-less platform devices. Runtime suspend and resume of devices on the platform bus is impossible without this change. It may however be better to modify the actual struct device than working around things in the Runtime PM core code. Signed-off-by: Magnus Damm <damm@xxxxxxxxxx> --- drivers/base/power/runtime.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- 0012/drivers/base/power/runtime.c +++ work/drivers/base/power/runtime.c 2009-07-30 19:21:54.000000000 +0900 @@ -177,7 +177,7 @@ int __pm_runtime_suspend(struct device * spin_unlock_irq(&dev->power.lock); - retval = dev->bus ? pm_runtime_ops_suspend(dev, dev->bus->pm) : -ENOSYS; + retval = dev->bus ? pm_runtime_ops_suspend(dev, dev->bus->pm) : 0; spin_lock_irq(&dev->power.lock); @@ -318,7 +318,7 @@ int __pm_runtime_resume(struct device *d spin_unlock_irq(&dev->power.lock); - retval = dev->bus ? pm_runtime_ops_resume(dev, dev->bus->pm) : -ENOSYS; + retval = dev->bus ? pm_runtime_ops_resume(dev, dev->bus->pm) : 0; spin_lock_irq(&dev->power.lock); _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm