iio: light: isl29018: Simplify with dev_err_probe()
authorKrzysztof Kozlowski <krzk@kernel.org>
Sat, 29 Aug 2020 06:47:22 +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>
Link: https://lore.kernel.org/r/20200829064726.26268-14-krzk@kernel.org
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/light/isl29018.c

index ac8ad0f..2689867 100644 (file)
@@ -746,12 +746,9 @@ static int isl29018_probe(struct i2c_client *client,
        chip->suspended = false;
 
        chip->vcc_reg = devm_regulator_get(&client->dev, "vcc");
-       if (IS_ERR(chip->vcc_reg)) {
-               err = PTR_ERR(chip->vcc_reg);
-               if (err != -EPROBE_DEFER)
-                       dev_err(&client->dev, "failed to get VCC regulator!\n");
-               return err;
-       }
+       if (IS_ERR(chip->vcc_reg))
+               return dev_err_probe(&client->dev, PTR_ERR(chip->vcc_reg),
+                                    "failed to get VCC regulator!\n");
 
        err = regulator_enable(chip->vcc_reg);
        if (err) {