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/power/supply/lego_ev3_battery.c | 24 +++++++++---------------
 1 file changed, 9 insertions(+), 15 deletions(-)

diff --git a/drivers/power/supply/lego_ev3_battery.c 
b/drivers/power/supply/lego_ev3_battery.c
index 1ae3710909b7..ccb00be38e2c 100644
--- a/drivers/power/supply/lego_ev3_battery.c
+++ b/drivers/power/supply/lego_ev3_battery.c
@@ -166,27 +166,21 @@ static int lego_ev3_battery_probe(struct platform_device 
*pdev)
 
        batt->iio_v = devm_iio_channel_get(dev, "voltage");
        err = PTR_ERR_OR_ZERO(batt->iio_v);
-       if (err) {
-               if (err != -EPROBE_DEFER)
-                       dev_err(dev, "Failed to get voltage iio channel\n");
-               return err;
-       }
+       if (err)
+               return dev_err_probe(dev, err,
+                                    "Failed to get voltage iio channel\n");
 
        batt->iio_i = devm_iio_channel_get(dev, "current");
        err = PTR_ERR_OR_ZERO(batt->iio_i);
-       if (err) {
-               if (err != -EPROBE_DEFER)
-                       dev_err(dev, "Failed to get current iio channel\n");
-               return err;
-       }
+       if (err)
+               return dev_err_probe(dev, err,
+                                    "Failed to get current iio channel\n");
 
        batt->rechargeable_gpio = devm_gpiod_get(dev, "rechargeable", GPIOD_IN);
        err = PTR_ERR_OR_ZERO(batt->rechargeable_gpio);
-       if (err) {
-               if (err != -EPROBE_DEFER)
-                       dev_err(dev, "Failed to get rechargeable gpio\n");
-               return err;
-       }
+       if (err)
+               return dev_err_probe(dev, err,
+                                    "Failed to get rechargeable gpio\n");
 
        /*
         * The rechargeable battery indication switch cannot be changed without
-- 
2.17.1

Reply via email to