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 <k...@kernel.org>
---
 drivers/iio/chemical/scd30_core.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/drivers/iio/chemical/scd30_core.c 
b/drivers/iio/chemical/scd30_core.c
index eac76972f83e..92358797796d 100644
--- a/drivers/iio/chemical/scd30_core.c
+++ b/drivers/iio/chemical/scd30_core.c
@@ -705,13 +705,9 @@ 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)
-- 
2.17.1

Reply via email to