regulator: core: remove dead code in _regulator_get()
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 3 Feb 2017 21:56:00 +0000 (13:56 -0800)
committerMark Brown <broonie@kernel.org>
Sat, 4 Feb 2017 10:25:07 +0000 (11:25 +0100)
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 <dmitry.torokhov@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/core.c

index 04baac9a165bbb56da292a51d0a56055947861e0..b0ee068310c5f82cf08a1d3f9b8278f89e39ba63 100644 (file)
@@ -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 @@ found:
        }
 
        if (!try_module_get(rdev->owner)) {
+               regulator = ERR_PTR(-EPROBE_DEFER);
                put_device(&rdev->dev);
                return regulator;
        }