Don't report requested regulator (via of_regulator_get()) as non-existent if said regulator is missing from regulator list. Instead rely on driver_deferred_probe_check_state() to properly declare regulator as such after all of the initcalls were done and no further missing dependencies could be resolved. Signed-off-by: Andrey Smirnov <andrew.smirnov@xxxxxxxxx> --- drivers/regulator/core.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c index 795dcdb8c1..a5ac8f3c94 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c @@ -227,7 +227,13 @@ static struct regulator_internal *of_regulator_get(struct device_d *dev, const c } } - ri = ERR_PTR(-ENODEV); + /* + * It is possible that regulator we are looking for will be + * added in future initcalls, so, instead of reporting a + * complete failure we see if probe deferral is more + * appropriate + */ + ri = ERR_PTR(driver_deferred_probe_check_state(dev)); out: free(propname); -- 2.20.1 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox