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/light/isl29018.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/iio/light/isl29018.c b/drivers/iio/light/isl29018.c
index ac8ad0f32689..2689867467a8 100644
--- a/drivers/iio/light/isl29018.c
+++ b/drivers/iio/light/isl29018.c
@@ -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) {
-- 
2.17.1

Reply via email to