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/accel/bma180.c | 20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)

diff --git a/drivers/iio/accel/bma180.c b/drivers/iio/accel/bma180.c
index 5b7a467c7b27..448faed001fd 100644
--- a/drivers/iio/accel/bma180.c
+++ b/drivers/iio/accel/bma180.c
@@ -1000,19 +1000,15 @@ static int bma180_probe(struct i2c_client *client,
                return ret;
 
        data->vdd_supply = devm_regulator_get(dev, "vdd");
-       if (IS_ERR(data->vdd_supply)) {
-               if (PTR_ERR(data->vdd_supply) != -EPROBE_DEFER)
-                       dev_err(dev, "Failed to get vdd regulator %d\n",
-                               (int)PTR_ERR(data->vdd_supply));
-               return PTR_ERR(data->vdd_supply);
-       }
+       if (IS_ERR(data->vdd_supply))
+               return dev_err_probe(dev, PTR_ERR(data->vdd_supply),
+                                    "Failed to get vdd regulator\n");
+
        data->vddio_supply = devm_regulator_get(dev, "vddio");
-       if (IS_ERR(data->vddio_supply)) {
-               if (PTR_ERR(data->vddio_supply) != -EPROBE_DEFER)
-                       dev_err(dev, "Failed to get vddio regulator %d\n",
-                               (int)PTR_ERR(data->vddio_supply));
-               return PTR_ERR(data->vddio_supply);
-       }
+       if (IS_ERR(data->vddio_supply))
+               return dev_err_probe(dev, PTR_ERR(data->vddio_supply),
+                                    "Failed to get vddio regulator\n");
+
        /* Typical voltage 2.4V these are min and max */
        ret = regulator_set_voltage(data->vdd_supply, 1620000, 3600000);
        if (ret)
-- 
2.17.1

Reply via email to