regulator: core: do not report EPROBE_DEFER as error but as debug
authorJorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org>
Wed, 17 Apr 2019 19:24:43 +0000 (21:24 +0200)
committerMark Brown <broonie@kernel.org>
Fri, 26 Apr 2019 09:38:24 +0000 (10:38 +0100)
Temporary failures to get a regulator (EPROBE_DEFER) should be logged
as debug information instead of errors.

Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/core.c

index 5a9ebcf..08ccabe 100644 (file)
@@ -4345,8 +4345,6 @@ int regulator_bulk_get(struct device *dev, int num_consumers,
                                                      consumers[i].supply);
                if (IS_ERR(consumers[i].consumer)) {
                        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;
                }
@@ -4355,6 +4353,13 @@ int regulator_bulk_get(struct device *dev, int num_consumers,
        return 0;
 
 err:
+       if (ret != -EPROBE_DEFER)
+               dev_err(dev, "Failed to get supply '%s': %d\n",
+                       consumers[i].supply, ret);
+       else
+               dev_dbg(dev, "Failed to get supply '%s', deferring\n",
+                       consumers[i].supply);
+
        while (--i >= 0)
                regulator_put(consumers[i].consumer);