OSDN Git Service

iio: magnetometer: ak8974: Simplify with dev_err_probe()
authorKrzysztof Kozlowski <krzk@kernel.org>
Sat, 29 Aug 2020 06:47:24 +0000 (08:47 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Thu, 3 Sep 2020 18:40:51 +0000 (19:40 +0100)
Common pattern of handling deferred probe can be simplified with
dev_err_probe().  Less code and also it prints the error value.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20200829064726.26268-16-krzk@kernel.org
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/magnetometer/ak8974.c

index 6a8ae14..7cd9768 100644 (file)
@@ -843,15 +843,8 @@ static int ak8974_probe(struct i2c_client *i2c,
        ret = devm_regulator_bulk_get(&i2c->dev,
                                      ARRAY_SIZE(ak8974->regs),
                                      ak8974->regs);
-       if (ret < 0) {
-               if (ret != -EPROBE_DEFER)
-                       dev_err(&i2c->dev, "cannot get regulators: %d\n", ret);
-               else
-                       dev_dbg(&i2c->dev,
-                               "regulators unavailable, deferring probe\n");
-
-               return ret;
-       }
+       if (ret < 0)
+               return dev_err_probe(&i2c->dev, ret, "cannot get regulators\n");
 
        ret = regulator_bulk_enable(ARRAY_SIZE(ak8974->regs), ak8974->regs);
        if (ret < 0) {