|
@@ -3477,7 +3477,14 @@ regulator_register(const struct regulator_desc *regulator_desc,
|
|
|
|
|
|
r = regulator_dev_lookup(dev, supply, &ret);
|
|
|
|
|
|
- if (!r) {
|
|
|
+ if (ret == -ENODEV) {
|
|
|
+ /*
|
|
|
+ * No supply was specified for this regulator and
|
|
|
+ * there will never be one.
|
|
|
+ */
|
|
|
+ ret = 0;
|
|
|
+ goto add_dev;
|
|
|
+ } else if (!r) {
|
|
|
dev_err(dev, "Failed to find supply %s\n", supply);
|
|
|
ret = -EPROBE_DEFER;
|
|
|
goto scrub;
|
|
@@ -3495,6 +3502,7 @@ regulator_register(const struct regulator_desc *regulator_desc,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+add_dev:
|
|
|
/* add consumers devices */
|
|
|
if (init_data) {
|
|
|
for (i = 0; i < init_data->num_consumer_supplies; i++) {
|