break;
        default:
                dev_err(&pdev->dev, "Unsupported chip type\n");
-               err = -EINVAL;
-               goto err;
+               return -EINVAL;
        }
 
        /* Register LOCK release */
        err = regmap_update_bits(regmap, BD718XX_REG_REGLOCK,
                                 (REGLOCK_PWRSEQ | REGLOCK_VREG), 0);
-       if (err) {
-               dev_err(&pdev->dev, "Failed to unlock PMIC (%d)\n", err);
-               goto err;
-       } else {
-               dev_dbg(&pdev->dev, "Unlocked lock register 0x%x\n",
-                       BD718XX_REG_REGLOCK);
-       }
+       if (err)
+               return dev_err_probe(&pdev->dev, err, "Failed to unlock PMIC\n");
+
+       dev_dbg(&pdev->dev, "Unlocked lock register 0x%x\n",
+               BD718XX_REG_REGLOCK);
 
        use_snvs = of_property_read_bool(pdev->dev.parent->of_node,
                                         "rohm,reset-snvs-powered");
                                         BD718XX_WDOG_POWEROFF_MASK |
                                         BD718XX_KEY_L_POWEROFF_MASK,
                                         BD718XX_POWOFF_TO_RDY);
-               if (err) {
-                       dev_err(&pdev->dev, "Failed to change reset target\n");
-                       goto err;
-               } else {
-                       dev_dbg(&pdev->dev,
-                               "Changed all resets from SVNS to READY\n");
-               }
+               if (err)
+                       return dev_err_probe(&pdev->dev, err,
+                                            "Failed to change reset target\n");
+
+               dev_dbg(&pdev->dev, "Changed all resets from SVNS to READY\n");
        }
 
        config.dev = pdev->dev.parent;
                        desc->ops = swops[i];
 
                rdev = devm_regulator_register(&pdev->dev, desc, &config);
-               if (IS_ERR(rdev)) {
-                       dev_err(&pdev->dev,
-                               "failed to register %s regulator\n",
-                               desc->name);
-                       err = PTR_ERR(rdev);
-                       goto err;
-               }
+               if (IS_ERR(rdev))
+                       return dev_err_probe(&pdev->dev, PTR_ERR(rdev),
+                                            "failed to register %s regulator\n",
+                                            desc->name);
 
                /*
                 * Regulator register gets the regulator constraints and
                    !rdev->constraints->boot_on)) {
                        err = regmap_update_bits(regmap, r->init.reg,
                                                 r->init.mask, r->init.val);
-                       if (err) {
-                               dev_err(&pdev->dev,
+                       if (err)
+                               return dev_err_probe(&pdev->dev, err,
                                        "Failed to take control for (%s)\n",
                                        desc->name);
-                               goto err;
-                       }
                }
                for (j = 0; j < r->additional_init_amnt; j++) {
                        err = regmap_update_bits(regmap,
                                                 r->additional_inits[j].reg,
                                                 r->additional_inits[j].mask,
                                                 r->additional_inits[j].val);
-                       if (err) {
-                               dev_err(&pdev->dev,
+                       if (err)
+                               return dev_err_probe(&pdev->dev, err,
                                        "Buck (%s) initialization failed\n",
                                        desc->name);
-                               goto err;
-                       }
                }
        }
 
-err:
        return err;
 }