iio: chemical: scd30: Simplify with dev_err_probe()
authorKrzysztof Kozlowski <krzk@kernel.org>
Sat, 29 Aug 2020 06:47:19 +0000 (08:47 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Thu, 3 Sep 2020 18:40:50 +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: Tomasz Duszynski <tomasz.duszynski@octakon.com>
Link: https://lore.kernel.org/r/20200829064726.26268-11-krzk@kernel.org
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/chemical/scd30_core.c

index eac7697..4d0d798 100644 (file)
@@ -705,13 +705,8 @@ int scd30_probe(struct device *dev, int irq, const char *name, void *priv,
        indio_dev->available_scan_masks = scd30_scan_masks;
 
        state->vdd = devm_regulator_get(dev, "vdd");
-       if (IS_ERR(state->vdd)) {
-               if (PTR_ERR(state->vdd) == -EPROBE_DEFER)
-                       return -EPROBE_DEFER;
-
-               dev_err(dev, "failed to get regulator\n");
-               return PTR_ERR(state->vdd);
-       }
+       if (IS_ERR(state->vdd))
+               return dev_err_probe(dev, PTR_ERR(state->vdd), "failed to get regulator\n");
 
        ret = regulator_enable(state->vdd);
        if (ret)