There is no point in assigning value to 'ret' before calling
regulator_dev_lookup() as it will clobber 'ret' anyway.

Also, let's explicitly return -PROBE_DEFER when try_module_get() fails,
instead of relying that earlier initialization of "regulator" carries
correct value.

Signed-off-by: Dmitry Torokhov <[email protected]>
---
 drivers/regulator/core.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index 04baac9a165b..b0ee068310c5 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -1584,7 +1584,7 @@ static struct regulator *_regulator_get(struct device 
*dev, const char *id,
                                        bool exclusive, bool allow_dummy)
 {
        struct regulator_dev *rdev;
-       struct regulator *regulator = ERR_PTR(-EPROBE_DEFER);
+       struct regulator *regulator;
        const char *devname = NULL;
        int ret;
 
@@ -1596,11 +1596,6 @@ static struct regulator *_regulator_get(struct device 
*dev, const char *id,
        if (dev)
                devname = dev_name(dev);
 
-       if (have_full_constraints())
-               ret = -ENODEV;
-       else
-               ret = -EPROBE_DEFER;
-
        rdev = regulator_dev_lookup(dev, id, &ret);
        if (rdev)
                goto found;
@@ -1656,6 +1651,7 @@ static struct regulator *_regulator_get(struct device 
*dev, const char *id,
        }
 
        if (!try_module_get(rdev->owner)) {
+               regulator = ERR_PTR(-EPROBE_DEFER);
                put_device(&rdev->dev);
                return regulator;
        }
-- 
2.11.0.483.g087da7b7c-goog

Reply via email to