2010-11-09 15:08:47

by Bengt Jönsson

[permalink] [raw]
Subject: [PATCH] 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.

Change-Id: Ic322801119fefaabc1ed4fef248e463e67fb1857
Signed-off-by: Bengt Jonsson <[email protected]>
Acked-by: Linus Walleij <[email protected]>
---
drivers/regulator/core.c | 16 +++++++++-------
1 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index f1d10c9..cd1f5a8 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -1268,13 +1268,15 @@ static int _regulator_enable(struct regulator_dev *rdev)
{
int ret, delay;

- /* do we need to enable the supply regulator first */
- if (rdev->supply) {
- ret = _regulator_enable(rdev->supply);
- if (ret < 0) {
- printk(KERN_ERR "%s: failed to enable %s: %d\n",
- __func__, rdev_get_name(rdev), ret);
- return ret;
+ if (rdev->use_count == 0) {
+ /* do we need to enable the supply regulator first */
+ if (rdev->supply) {
+ ret = _regulator_enable(rdev->supply);
+ if (ret < 0) {
+ printk(KERN_ERR "%s: failed to enable %s: %d\n",
+ __func__, rdev_get_name(rdev), ret);
+ return ret;
+ }
}
}

--
1.7.2.2


2010-11-09 15:13:44

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH] regulator: enable supply regulator only when use count is zero

On Tue, Nov 09, 2010 at 03:50:26PM +0100, Bengt Jonsson wrote:
> 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.

Acked-by: Mark Brown <[email protected]>

> Change-Id: Ic322801119fefaabc1ed4fef248e463e67fb1857

Don't do this on mainline submissions.

2010-11-09 21:11:46

by Liam Girdwood

[permalink] [raw]
Subject: Re: [PATCH] regulator: enable supply regulator only when use count is zero

On Tue, 2010-11-09 at 15:50 +0100, Bengt Jonsson wrote:
> 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.
>
> Change-Id: Ic322801119fefaabc1ed4fef248e463e67fb1857
> Signed-off-by: Bengt Jonsson <[email protected]>
> Acked-by: Linus Walleij <[email protected]>
> ---
> drivers/regulator/core.c | 16 +++++++++-------
> 1 files changed, 9 insertions(+), 7 deletions(-)
>

This doesn't apply to voltage for-next.

Could you please redo.

Thanks

Liam
--
Freelance Developer, SlimLogic Ltd
ASoC and Voltage Regulator Maintainer.
http://www.slimlogic.co.uk