Messages in this thread Patch in this message | | | From | Mark Brown <> | Subject | [PATCH] regulator: core: Fast path non-deferred disables | Date | Fri, 7 Sep 2012 11:01:20 +0800 |
| |
Users (especially framework code) may end up passing in a zero deferral time depending on runtime conditions or configuration. If they do then just call regulator_disable() directly to save scheduling.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> --- drivers/regulator/core.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c index e6bb1f9..3ddc837 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c @@ -1749,6 +1749,9 @@ int regulator_disable_deferred(struct regulator *regulator, int ms) if (regulator->always_on) return 0; + if (!ms) + return regulator_disable(regulator); + mutex_lock(&rdev->mutex); rdev->deferred_disables++; mutex_unlock(&rdev->mutex); -- 1.7.10.4
| |