* to the battery.
         */
        ret = regmap_read(chip->regmap, SBS_CHARGER_REG_STATUS, &val);
-       if (ret) {
-               dev_err(&client->dev, "Failed to get device status\n");
-               return ret;
-       }
+       if (ret)
+               return dev_err_probe(&client->dev, ret, "Failed to get device status\n");
        chip->last_state = val;
 
-       chip->power_supply = devm_power_supply_register(&client->dev, &sbs_desc,
-                                                       &psy_cfg);
-       if (IS_ERR(chip->power_supply)) {
-               dev_err(&client->dev, "Failed to register power supply\n");
-               return PTR_ERR(chip->power_supply);
-       }
+       chip->power_supply = devm_power_supply_register(&client->dev, &sbs_desc, &psy_cfg);
+       if (IS_ERR(chip->power_supply))
+               return dev_err_probe(&client->dev, PTR_ERR(chip->power_supply),
+                                    "Failed to register power supply\n");
 
        /*
         * The sbs-charger spec doesn't impose the use of an interrupt. So in
                                        NULL, sbs_irq_thread,
                                        IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
                                        dev_name(&client->dev), chip);
-               if (ret) {
-                       dev_err(&client->dev, "Failed to request irq, %d\n", ret);
-                       return ret;
-               }
+               if (ret)
+                       return dev_err_probe(&client->dev, ret, "Failed to request irq\n");
        } else {
                INIT_DELAYED_WORK(&chip->work, sbs_delayed_work);
                schedule_delayed_work(&chip->work,