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/bq27xxx_battery.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/drivers/power/supply/bq27xxx_battery.c 
b/drivers/power/supply/bq27xxx_battery.c
index a123f6e21f08..617689084ded 100644
--- a/drivers/power/supply/bq27xxx_battery.c
+++ b/drivers/power/supply/bq27xxx_battery.c
@@ -1992,13 +1992,9 @@ int bq27xxx_battery_setup(struct bq27xxx_device_info *di)
        psy_desc->external_power_changed = bq27xxx_external_power_changed;
 
        di->bat = power_supply_register_no_ws(di->dev, psy_desc, &psy_cfg);
-       if (IS_ERR(di->bat)) {
-               if (PTR_ERR(di->bat) == -EPROBE_DEFER)
-                       dev_dbg(di->dev, "failed to register battery, deferring 
probe\n");
-               else
-                       dev_err(di->dev, "failed to register battery\n");
-               return PTR_ERR(di->bat);
-       }
+       if (IS_ERR(di->bat))
+               return dev_err_probe(di->dev, PTR_ERR(di->bat),
+                                    "failed to register battery\n");
 
        bq27xxx_battery_settings(di);
        bq27xxx_battery_update(di);
-- 
2.17.1

Reply via email to