Commit 00e67470 authored by Mark Brown's avatar Mark Brown

Merge remote-tracking branch 'regulator/fix/core' into regulator-linus

parents 38dbfb59 317b5684
...@@ -1272,6 +1272,8 @@ static struct regulator_dev *regulator_dev_lookup(struct device *dev, ...@@ -1272,6 +1272,8 @@ static struct regulator_dev *regulator_dev_lookup(struct device *dev,
if (r->dev.parent && if (r->dev.parent &&
node == r->dev.of_node) node == r->dev.of_node)
return r; return r;
*ret = -EPROBE_DEFER;
return NULL;
} else { } else {
/* /*
* If we couldn't even get the node then it's * If we couldn't even get the node then it's
...@@ -1312,7 +1314,7 @@ static struct regulator *_regulator_get(struct device *dev, const char *id, ...@@ -1312,7 +1314,7 @@ static struct regulator *_regulator_get(struct device *dev, const char *id,
struct regulator_dev *rdev; struct regulator_dev *rdev;
struct regulator *regulator = ERR_PTR(-EPROBE_DEFER); struct regulator *regulator = ERR_PTR(-EPROBE_DEFER);
const char *devname = NULL; const char *devname = NULL;
int ret = -EPROBE_DEFER; int ret;
if (id == NULL) { if (id == NULL) {
pr_err("get() with no identifier\n"); pr_err("get() with no identifier\n");
...@@ -1322,6 +1324,11 @@ static struct regulator *_regulator_get(struct device *dev, const char *id, ...@@ -1322,6 +1324,11 @@ static struct regulator *_regulator_get(struct device *dev, const char *id,
if (dev) if (dev)
devname = dev_name(dev); devname = dev_name(dev);
if (have_full_constraints())
ret = -ENODEV;
else
ret = -EPROBE_DEFER;
mutex_lock(&regulator_list_mutex); mutex_lock(&regulator_list_mutex);
rdev = regulator_dev_lookup(dev, id, &ret); rdev = regulator_dev_lookup(dev, id, &ret);
......
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