regulator: bd718x7: Use dev_err_probe()
authorMatti Vaittinen <mazziesaccount@gmail.com>
Wed, 23 Nov 2022 12:00:38 +0000 (14:00 +0200)
committerMark Brown <broonie@kernel.org>
Wed, 23 Nov 2022 13:09:06 +0000 (13:09 +0000)
The dev_err_probe() has (at least) following benefits over dev_err()
when printing an error print for a failed function call at a device
driver probe:
        - Omit error level print if error is 'EPRBE_DEFER'
        - Standardized print format for returned error
        - return the error value allowing shortening calls like:

        if (ret) {
                dev_err(...);
                return ret;
        }

        to

        if (ret)
                return dev_err_probe(...);

Convert the ROHM BD718x7 regulator driver to use the dev_err_probe() when
returned error is not hard-coded constant.

NOTE:
This commit also changes the error handling path to return immediately
from a spot where the error is spotted instead of using a single point
of exit.

Signed-off-by: Matti Vaittinen <mazziesaccount@gmail.com>
Link: https://lore.kernel.org/r/fee54c2d04bb41b51381e31523f9ed31575206d2.1669203610.git.mazziesaccount@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/bd718x7-regulator.c

index d161b0026f33a6694d85d7d51c587c0af2b8f375..894fab0d53d04cb39fb626e5a1e23ea4864c0aad 100644 (file)
@@ -1706,20 +1706,17 @@ static int bd718xx_probe(struct platform_device *pdev)
                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");
@@ -1736,13 +1733,11 @@ static int bd718xx_probe(struct platform_device *pdev)
                                         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;
@@ -1778,13 +1773,10 @@ static int bd718xx_probe(struct platform_device *pdev)
                        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
@@ -1807,28 +1799,23 @@ static int bd718xx_probe(struct platform_device *pdev)
                    !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;
 }