aboutsummaryrefslogtreecommitdiff
path: root/drivers/base
diff options
context:
space:
mode:
authorOhad Ben-Cohen <ohad@wizery.com>2010-09-09 00:46:16 +0200
committerSrinidhi KASAGAR <srinidhi.kasagar@stericsson.com>2011-01-18 13:08:32 +0100
commit55f2e2c910125c56cd746e8bb9bbd611578ce430 (patch)
treed70b01b8078ed8bf77b302776960ef1603e2d843 /drivers/base
parente2a0b0d4a163a54a956bcd980637f268dfa39246 (diff)
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> ST-Ericsson Linux next: - ST-Ericsson ID: AP317082 ST-Ericsson FOSS-OUT ID: - Change-Id: I7759b324ab7aa7a94efbe08b8805ad694b820271 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/12708 Tested-by: Rabin VINCENT <rabin.vincent@stericsson.com> Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com>
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 4b29d498125..81f2c84697f 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;
}