2009-10-13 12:07:37

by Mark Brown

[permalink] [raw]
Subject: [PATCH 1/2] regulator: Report error codes for bulk operations

If we're going to log an error we may as well log what the error
code that we're failing on is.

Signed-off-by: Mark Brown <[email protected]>
---
drivers/regulator/core.c | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index 942af6e..25e35c7 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -1890,9 +1890,9 @@ int regulator_bulk_get(struct device *dev, int num_consumers,
consumers[i].consumer = regulator_get(dev,
consumers[i].supply);
if (IS_ERR(consumers[i].consumer)) {
- dev_err(dev, "Failed to get supply '%s'\n",
- consumers[i].supply);
ret = PTR_ERR(consumers[i].consumer);
+ dev_err(dev, "Failed to get supply '%s': %d\n",
+ consumers[i].supply, ret);
consumers[i].consumer = NULL;
goto err;
}
@@ -1935,7 +1935,7 @@ int regulator_bulk_enable(int num_consumers,
return 0;

err:
- printk(KERN_ERR "Failed to enable %s\n", consumers[i].supply);
+ printk(KERN_ERR "Failed to enable %s: %d\n", consumers[i].supply, ret);
for (i = 0; i < num_consumers; i++)
regulator_disable(consumers[i].consumer);

@@ -1970,7 +1970,8 @@ int regulator_bulk_disable(int num_consumers,
return 0;

err:
- printk(KERN_ERR "Failed to disable %s\n", consumers[i].supply);
+ printk(KERN_ERR "Failed to disable %s: %d\n", consumers[i].supply,
+ ret);
for (i = 0; i < num_consumers; i++)
regulator_enable(consumers[i].consumer);

--
1.6.4.3


2009-10-13 12:07:31

by Mark Brown

[permalink] [raw]
Subject: [PATCH 2/2] regulator: Handle missing constraints in _regulator_disable()

Signed-off-by: Mark Brown <[email protected]>
---
drivers/regulator/core.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index 25e35c7..1ac37f5 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -1289,7 +1289,8 @@ static int _regulator_disable(struct regulator_dev *rdev)
return -EIO;

/* are we the last user and permitted to disable ? */
- if (rdev->use_count == 1 && !rdev->constraints->always_on) {
+ if (rdev->use_count == 1 &&
+ (rdev->constraints && !rdev->constraints->always_on)) {

/* we are last user */
if (_regulator_can_change_status(rdev) &&
--
1.6.4.3

2009-10-18 13:54:12

by Liam Girdwood

[permalink] [raw]
Subject: Re: [PATCH 1/2] regulator: Report error codes for bulk operations

On Tue, 2009-10-13 at 13:06 +0100, Mark Brown wrote:
> If we're going to log an error we may as well log what the error
> code that we're failing on is.
>
> Signed-off-by: Mark Brown <[email protected]>

Both Applied.

Thanks

Liam