diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2018-12-11 12:53:18 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2018-12-12 19:47:10 +0300 |
commit | daa531db8a09dc00084a6030c81f2555a8de70ac (patch) | |
tree | a159632e69f91f1c025af4abc1223faa0efc8aba /drivers/regulator/wm8994-regulator.c | |
parent | 05f224ca669398b567d09feb6e2ceefcb7d7f945 (diff) | |
download | linux-daa531db8a09dc00084a6030c81f2555a8de70ac.tar.xz |
regulator: wm8994: Rely on core to handle GPIO descriptor
After making sure that the regulator core always take over
handling of the GPIO descriptors, the gpiod_put()
on the errorpath of the wm8994 driver becomes redundant.
Reported-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/regulator/wm8994-regulator.c')
-rw-r--r-- | drivers/regulator/wm8994-regulator.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/regulator/wm8994-regulator.c b/drivers/regulator/wm8994-regulator.c index 46e6b4ee1491..38928cdcb6e6 100644 --- a/drivers/regulator/wm8994-regulator.c +++ b/drivers/regulator/wm8994-regulator.c @@ -172,6 +172,11 @@ static int wm8994_ldo_probe(struct platform_device *pdev) ldo->init_data = *pdata->ldo[id].init_data; } + /* + * At this point the GPIO descriptor is handled over to the + * regulator core and we need not worry about it on the + * error path. + */ ldo->regulator = devm_regulator_register(&pdev->dev, &wm8994_ldo_desc[id], &config); @@ -179,16 +184,12 @@ static int wm8994_ldo_probe(struct platform_device *pdev) ret = PTR_ERR(ldo->regulator); dev_err(wm8994->dev, "Failed to register LDO%d: %d\n", id + 1, ret); - goto err; + return ret; } platform_set_drvdata(pdev, ldo); return 0; - -err: - gpiod_put(gpiod); - return ret; } static struct platform_driver wm8994_ldo_driver = { |