Skip to content

Commit c23fdf9

Browse files
committed
regulator: ROHM BDxxxxx minor print improvements
Merge series from Matti Vaittinen <[email protected]>: Minor (printing) improvements for ROHM regulator drivers. This series: - Drops an unnecessary info print from bd718x7. (Added a fixes tag for this but not really sure if worth adding to stable) - Convert the ROHM BDxxxxx PMIC regulator drivers to use dev_err_probe(). - Change the probe logic for bd718x7 to favor the more usual devm-style where errors are returned immediately.
2 parents 3b5b07d + 662a9bf commit c23fdf9

File tree

4 files changed

+57
-81
lines changed

4 files changed

+57
-81
lines changed

drivers/regulator/bd71815-regulator.c

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -602,12 +602,10 @@ static int bd7181x_probe(struct platform_device *pdev)
602602
config.ena_gpiod = NULL;
603603

604604
rdev = devm_regulator_register(&pdev->dev, desc, &config);
605-
if (IS_ERR(rdev)) {
606-
dev_err(&pdev->dev,
607-
"failed to register %s regulator\n",
608-
desc->name);
609-
return PTR_ERR(rdev);
610-
}
605+
if (IS_ERR(rdev))
606+
return dev_err_probe(&pdev->dev, PTR_ERR(rdev),
607+
"failed to register %s regulator\n",
608+
desc->name);
611609
}
612610
return 0;
613611
}

drivers/regulator/bd71828-regulator.c

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -750,23 +750,20 @@ static int bd71828_probe(struct platform_device *pdev)
750750
rd = &bd71828_rdata[i];
751751
rdev = devm_regulator_register(&pdev->dev,
752752
&rd->desc, &config);
753-
if (IS_ERR(rdev)) {
754-
dev_err(&pdev->dev,
755-
"failed to register %s regulator\n",
756-
rd->desc.name);
757-
return PTR_ERR(rdev);
758-
}
753+
if (IS_ERR(rdev))
754+
return dev_err_probe(&pdev->dev, PTR_ERR(rdev),
755+
"failed to register %s regulator\n",
756+
rd->desc.name);
757+
759758
for (j = 0; j < rd->reg_init_amnt; j++) {
760759
ret = regmap_update_bits(config.regmap,
761760
rd->reg_inits[j].reg,
762761
rd->reg_inits[j].mask,
763762
rd->reg_inits[j].val);
764-
if (ret) {
765-
dev_err(&pdev->dev,
766-
"regulator %s init failed\n",
767-
rd->desc.name);
768-
return ret;
769-
}
763+
if (ret)
764+
return dev_err_probe(&pdev->dev, ret,
765+
"regulator %s init failed\n",
766+
rd->desc.name);
770767
}
771768
}
772769
return 0;

drivers/regulator/bd718x7-regulator.c

Lines changed: 19 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1576,8 +1576,6 @@ static int setup_feedback_loop(struct device *dev, struct device_node *np,
15761576
if (!of_node_name_eq(np, desc->of_match))
15771577
continue;
15781578

1579-
pr_info("Looking at node '%s'\n", desc->of_match);
1580-
15811579
/* The feedback loop connection does not make sense for LDOs */
15821580
if (desc->id >= BD718XX_LDO1)
15831581
return -EINVAL;
@@ -1708,20 +1706,17 @@ static int bd718xx_probe(struct platform_device *pdev)
17081706
break;
17091707
default:
17101708
dev_err(&pdev->dev, "Unsupported chip type\n");
1711-
err = -EINVAL;
1712-
goto err;
1709+
return -EINVAL;
17131710
}
17141711

17151712
/* Register LOCK release */
17161713
err = regmap_update_bits(regmap, BD718XX_REG_REGLOCK,
17171714
(REGLOCK_PWRSEQ | REGLOCK_VREG), 0);
1718-
if (err) {
1719-
dev_err(&pdev->dev, "Failed to unlock PMIC (%d)\n", err);
1720-
goto err;
1721-
} else {
1722-
dev_dbg(&pdev->dev, "Unlocked lock register 0x%x\n",
1723-
BD718XX_REG_REGLOCK);
1724-
}
1715+
if (err)
1716+
return dev_err_probe(&pdev->dev, err, "Failed to unlock PMIC\n");
1717+
1718+
dev_dbg(&pdev->dev, "Unlocked lock register 0x%x\n",
1719+
BD718XX_REG_REGLOCK);
17251720

17261721
use_snvs = of_property_read_bool(pdev->dev.parent->of_node,
17271722
"rohm,reset-snvs-powered");
@@ -1738,13 +1733,11 @@ static int bd718xx_probe(struct platform_device *pdev)
17381733
BD718XX_WDOG_POWEROFF_MASK |
17391734
BD718XX_KEY_L_POWEROFF_MASK,
17401735
BD718XX_POWOFF_TO_RDY);
1741-
if (err) {
1742-
dev_err(&pdev->dev, "Failed to change reset target\n");
1743-
goto err;
1744-
} else {
1745-
dev_dbg(&pdev->dev,
1746-
"Changed all resets from SVNS to READY\n");
1747-
}
1736+
if (err)
1737+
return dev_err_probe(&pdev->dev, err,
1738+
"Failed to change reset target\n");
1739+
1740+
dev_dbg(&pdev->dev, "Changed all resets from SVNS to READY\n");
17481741
}
17491742

17501743
config.dev = pdev->dev.parent;
@@ -1780,13 +1773,10 @@ static int bd718xx_probe(struct platform_device *pdev)
17801773
desc->ops = swops[i];
17811774

17821775
rdev = devm_regulator_register(&pdev->dev, desc, &config);
1783-
if (IS_ERR(rdev)) {
1784-
dev_err(&pdev->dev,
1785-
"failed to register %s regulator\n",
1786-
desc->name);
1787-
err = PTR_ERR(rdev);
1788-
goto err;
1789-
}
1776+
if (IS_ERR(rdev))
1777+
return dev_err_probe(&pdev->dev, PTR_ERR(rdev),
1778+
"failed to register %s regulator\n",
1779+
desc->name);
17901780

17911781
/*
17921782
* Regulator register gets the regulator constraints and
@@ -1809,28 +1799,23 @@ static int bd718xx_probe(struct platform_device *pdev)
18091799
!rdev->constraints->boot_on)) {
18101800
err = regmap_update_bits(regmap, r->init.reg,
18111801
r->init.mask, r->init.val);
1812-
if (err) {
1813-
dev_err(&pdev->dev,
1802+
if (err)
1803+
return dev_err_probe(&pdev->dev, err,
18141804
"Failed to take control for (%s)\n",
18151805
desc->name);
1816-
goto err;
1817-
}
18181806
}
18191807
for (j = 0; j < r->additional_init_amnt; j++) {
18201808
err = regmap_update_bits(regmap,
18211809
r->additional_inits[j].reg,
18221810
r->additional_inits[j].mask,
18231811
r->additional_inits[j].val);
1824-
if (err) {
1825-
dev_err(&pdev->dev,
1812+
if (err)
1813+
return dev_err_probe(&pdev->dev, err,
18261814
"Buck (%s) initialization failed\n",
18271815
desc->name);
1828-
goto err;
1829-
}
18301816
}
18311817
}
18321818

1833-
err:
18341819
return err;
18351820
}
18361821

drivers/regulator/bd9576-regulator.c

Lines changed: 25 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -953,30 +953,28 @@ static int bd957x_probe(struct platform_device *pdev)
953953
dev_fwnode(pdev->dev.parent),
954954
"rohm,vout1-en", GPIOD_OUT_LOW,
955955
"vout1-en");
956-
if (!IS_ERR(en)) {
957-
/* VOUT1_OPS gpio ctrl */
958-
/*
959-
* Regulator core prioritizes the ena_gpio over
960-
* enable/disable/is_enabled callbacks so no need to
961-
* clear them. We can still use same ops
962-
*/
956+
957+
/* VOUT1_OPS gpio ctrl */
958+
/*
959+
* Regulator core prioritizes the ena_gpio over
960+
* enable/disable/is_enabled callbacks so no need to clear them
961+
* even if GPIO is used. So, we can still use same ops.
962+
*
963+
* In theory it is possible someone wants to set vout1-en LOW
964+
* during OTP loading and set VOUT1 to be controlled by GPIO -
965+
* but control the GPIO from some where else than this driver.
966+
* For that to work we should unset the is_enabled callback
967+
* here.
968+
*
969+
* I believe such case where rohm,vout1-en-low is set and
970+
* vout1-en-gpios is not is likely to be a misconfiguration.
971+
* So let's just err out for now.
972+
*/
973+
if (!IS_ERR(en))
963974
config.ena_gpiod = en;
964-
} else {
965-
/*
966-
* In theory it is possible someone wants to set
967-
* vout1-en LOW during OTP loading and set VOUT1 to be
968-
* controlled by GPIO - but control the GPIO from some
969-
* where else than this driver. For that to work we
970-
* should unset the is_enabled callback here.
971-
*
972-
* I believe such case where rohm,vout1-en-low is set
973-
* and vout1-en-gpios is not is likely to be a
974-
* misconfiguration. So let's just err out for now.
975-
*/
976-
dev_err(&pdev->dev,
977-
"Failed to get VOUT1 control GPIO\n");
978-
return PTR_ERR(en);
979-
}
975+
else
976+
return dev_err_probe(&pdev->dev, PTR_ERR(en),
977+
"Failed to get VOUT1 control GPIO\n");
980978
}
981979

982980
/*
@@ -1037,12 +1035,10 @@ static int bd957x_probe(struct platform_device *pdev)
10371035

10381036
r->rdev = devm_regulator_register(&pdev->dev, desc,
10391037
&config);
1040-
if (IS_ERR(r->rdev)) {
1041-
dev_err(&pdev->dev,
1042-
"failed to register %s regulator\n",
1043-
desc->name);
1044-
return PTR_ERR(r->rdev);
1045-
}
1038+
if (IS_ERR(r->rdev))
1039+
return dev_err_probe(&pdev->dev, PTR_ERR(r->rdev),
1040+
"failed to register %s regulator\n",
1041+
desc->name);
10461042
/*
10471043
* Clear the VOUT1 GPIO setting - rest of the regulators do not
10481044
* support GPIO control

0 commit comments

Comments
 (0)