diff options
author | Charles Keepax <ckeepax@opensource.wolfsonmicro.com> | 2015-02-20 16:08:43 +0000 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-02-21 23:30:02 +0900 |
commit | ec454d7016f2c9c897235b362089ddf9f1f8e4b8 (patch) | |
tree | 861e10abaf8405d57eb0dd4cf1855da872faf398 /drivers/regulator | |
parent | bfa76d49576599a4b9f9b7a71f23d73d6dcff735 (diff) |
regulator: arizona-ldo1: Drop OF node reference on error path
We were not calling of_node_put if the regulator failed to register this
patch fixes this.
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/regulator')
-rw-r--r-- | drivers/regulator/arizona-ldo1.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/regulator/arizona-ldo1.c b/drivers/regulator/arizona-ldo1.c index 8169165904c0..a1d07d347c20 100644 --- a/drivers/regulator/arizona-ldo1.c +++ b/drivers/regulator/arizona-ldo1.c @@ -282,6 +282,9 @@ static int arizona_ldo1_probe(struct platform_device *pdev) arizona->external_dcvdd = true; ldo1->regulator = devm_regulator_register(&pdev->dev, desc, &config); + + of_node_put(config.of_node); + if (IS_ERR(ldo1->regulator)) { ret = PTR_ERR(ldo1->regulator); dev_err(arizona->dev, "Failed to register LDO1 supply: %d\n", @@ -289,8 +292,6 @@ static int arizona_ldo1_probe(struct platform_device *pdev) return ret; } - of_node_put(config.of_node); - platform_set_drvdata(pdev, ldo1); return 0; |