Commit f3c18a87 authored by Bengt Jonsson's avatar Bengt Jonsson Committed by Liam Girdwood

regulator: enable supply regulator only when use count is zero

Supply regulators are disabled only when the last
reference count is removed on the child regulator
(the use count goes from 1 to 0). This patch changes
the behaviour of enable so the supply regulator is
enabled only when the use count of the child
regulator goes from 0 to 1.
Signed-off-by: default avatarBengt Jonsson <bengt.g.jonsson@stericsson.com>
Acked-by: default avatarLinus Walleij <linus.walleij@stericsson.com>
Acked-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
parent b9e26bc8
...@@ -1267,6 +1267,7 @@ static int _regulator_enable(struct regulator_dev *rdev) ...@@ -1267,6 +1267,7 @@ static int _regulator_enable(struct regulator_dev *rdev)
{ {
int ret, delay; int ret, delay;
if (rdev->use_count == 0) {
/* do we need to enable the supply regulator first */ /* do we need to enable the supply regulator first */
if (rdev->supply) { if (rdev->supply) {
mutex_lock(&rdev->supply->mutex); mutex_lock(&rdev->supply->mutex);
...@@ -1278,6 +1279,7 @@ static int _regulator_enable(struct regulator_dev *rdev) ...@@ -1278,6 +1279,7 @@ static int _regulator_enable(struct regulator_dev *rdev)
return ret; return ret;
} }
} }
}
/* check voltage and requested load before enabling */ /* check voltage and requested load before enabling */
if (rdev->constraints && if (rdev->constraints &&
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment