aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/base
diff options
context:
space:
mode:
authorOhad Ben-Cohen <ohad@wizery.com>2010-09-09 00:46:16 +0200
committerRafael J. Wysocki <rjw@sisk.pl>2010-10-17 01:57:41 +0200
commit05aa55dddb9ee4045c320661068bea78dad6a6e5 (patch)
treea1e814aebe12a2b560b505a3763dfdbf8ad90d8a /drivers/base
parent2d019713b7acbc01d769a1e512ca1f9a04c30bd0 (diff)
downloadkernel_samsung_smdk4412-05aa55dddb9ee4045c320661068bea78dad6a6e5.zip
kernel_samsung_smdk4412-05aa55dddb9ee4045c320661068bea78dad6a6e5.tar.gz
kernel_samsung_smdk4412-05aa55dddb9ee4045c320661068bea78dad6a6e5.tar.bz2
PM / Runtime: Lenient generic runtime pm callbacks
Allow drivers, that belong to subsystems which use the generic runtime pm callbacks, not to define runtime pm suspend/resume handlers, by implicitly assuming success in such cases. This is needed to eliminate nop handlers that would otherwise be necessary by drivers which enable runtime pm, but don't need to do anything when their devices are runtime-suspended/resumed. Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com> Acked-by: Kevin Hilman <khilman@deeprootsystems.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Diffstat (limited to 'drivers/base')
-rw-r--r--drivers/base/power/generic_ops.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/base/power/generic_ops.c b/drivers/base/power/generic_ops.c
index 4b29d49..81f2c84 100644
--- a/drivers/base/power/generic_ops.c
+++ b/drivers/base/power/generic_ops.c
@@ -46,7 +46,7 @@ int pm_generic_runtime_suspend(struct device *dev)
const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;
int ret;
- ret = pm && pm->runtime_suspend ? pm->runtime_suspend(dev) : -EINVAL;
+ ret = pm && pm->runtime_suspend ? pm->runtime_suspend(dev) : 0;
return ret;
}
@@ -65,7 +65,7 @@ int pm_generic_runtime_resume(struct device *dev)
const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;
int ret;
- ret = pm && pm->runtime_resume ? pm->runtime_resume(dev) : -EINVAL;
+ ret = pm && pm->runtime_resume ? pm->runtime_resume(dev) : 0;
return ret;
}