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>
Acked-by: Tomasz Duszynski <tomasz.duszyn...@octakon.com>

---

Changes since v1:
1. Wrap dev_err_probe() lines at 100 character
2. Add Ack
---
 drivers/iio/chemical/scd30_core.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/iio/chemical/scd30_core.c 
b/drivers/iio/chemical/scd30_core.c
index eac76972f83e..4d0d798c7cd3 100644
--- a/drivers/iio/chemical/scd30_core.c
+++ b/drivers/iio/chemical/scd30_core.c
@@ -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)
-- 
2.17.1

Reply via email to