regulator: core: Use the power efficient workqueue for delayed powerdown
authorMark Brown <broonie@linaro.org>
Thu, 18 Jul 2013 10:52:04 +0000 (11:52 +0100)
committerMark Brown <broonie@linaro.org>
Tue, 17 Dec 2013 21:32:18 +0000 (21:32 +0000)
There is no need to use a normal per-CPU workqueue for delayed power downs
as they're not timing or performance critical and waking up a core for them
would defeat some of the point.

Signed-off-by: Mark Brown <broonie@linaro.org>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Acked-by: Liam Girdwood <liam.r.girdwood@intel.com>
(cherry picked from commit 070260f07c7daec311f2466eb9d1df475d5a46f8)

drivers/regulator/core.c

index 815d6df8bd5f70fab479247c81c6afe7fa746841..89deb736b9ea40ad5d2b9f573ac0b93bbd7cca99 100644 (file)
@@ -1890,8 +1890,9 @@ int regulator_disable_deferred(struct regulator *regulator, int ms)
        rdev->deferred_disables++;
        mutex_unlock(&rdev->mutex);
 
-       ret = schedule_delayed_work(&rdev->disable_work,
-                                   msecs_to_jiffies(ms));
+       ret = queue_delayed_work(system_power_efficient_wq,
+                                &rdev->disable_work,
+                                msecs_to_jiffies(ms));
        if (ret < 0)
                return ret;
        else