summaryrefslogtreecommitdiff
path: root/drivers/regulator/core.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/regulator/core.c')
-rw-r--r--drivers/regulator/core.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index 815d6df8bd5..7c75ab88f9b 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -3673,8 +3673,9 @@ 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++) {
+ for (i = 0; i < init_data->num_consumer_supplies; i++) {
ret = set_consumer_device_supply(rdev,
init_data->consumer_supplies[i].dev_name,
init_data->consumer_supplies[i].supply);
@@ -3684,13 +3685,14 @@ add_dev:
goto unset_supplies;
}
}
- }
+ }
list_add(&rdev->list, &regulator_list);
rdev_init_debugfs(rdev);
out:
mutex_unlock(&regulator_list_mutex);
+
return rdev;
unset_supplies:
@@ -3710,7 +3712,8 @@ wash:
clean:
kfree(rdev);
rdev = ERR_PTR(ret);
- goto out;
+
+ goto out;
}
EXPORT_SYMBOL_GPL(regulator_register);
@@ -3980,8 +3983,12 @@ static int __init regulator_init_complete(void)
* with DT to provide them just assume that a DT enabled
* system has full constraints.
*/
+
+#if 0
+ // TODO OLIO: This assumption isn't true for us. Not yet, at least.
if (of_have_populated_dt())
has_full_constraints = true;
+#endif
mutex_lock(&regulator_list_mutex);