iio: accel: mma8452: Simplify with dev_err_probe()
authorKrzysztof Kozlowski <krzk@kernel.org>
Sat, 29 Aug 2020 06:47:10 +0000 (08:47 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Thu, 3 Sep 2020 18:40:48 +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>
Link: https://lore.kernel.org/r/20200829064726.26268-2-krzk@kernel.org
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/accel/mma8452.c

index ba27f86731314dc770048160430265d05332db7c..9b5f23b3a5fbad456b73078a27077b612e7ed555 100644 (file)
@@ -1538,22 +1538,14 @@ static int mma8452_probe(struct i2c_client *client,
        data->chip_info = match->data;
 
        data->vdd_reg = devm_regulator_get(&client->dev, "vdd");
-       if (IS_ERR(data->vdd_reg)) {
-               if (PTR_ERR(data->vdd_reg) == -EPROBE_DEFER)
-                       return -EPROBE_DEFER;
-
-               dev_err(&client->dev, "failed to get VDD regulator!\n");
-               return PTR_ERR(data->vdd_reg);
-       }
+       if (IS_ERR(data->vdd_reg))
+               return dev_err_probe(&client->dev, PTR_ERR(data->vdd_reg),
+                                    "failed to get VDD regulator!\n");
 
        data->vddio_reg = devm_regulator_get(&client->dev, "vddio");
-       if (IS_ERR(data->vddio_reg)) {
-               if (PTR_ERR(data->vddio_reg) == -EPROBE_DEFER)
-                       return -EPROBE_DEFER;
-
-               dev_err(&client->dev, "failed to get VDDIO regulator!\n");
-               return PTR_ERR(data->vddio_reg);
-       }
+       if (IS_ERR(data->vddio_reg))
+               return dev_err_probe(&client->dev, PTR_ERR(data->vddio_reg),
+                                    "failed to get VDDIO regulator!\n");
 
        ret = regulator_enable(data->vdd_reg);
        if (ret) {