aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/regulator/lm363x-regulator.c
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@ingics.com>2019-02-08 22:11:52 +0800
committerMark Brown <broonie@kernel.org>2019-02-08 16:50:52 +0000
commitc68f47aa0260eb530561b768ffc260d9c7e47a55 (patch)
tree3cc58c3833a21b3674de03c843655ccb6c31f83b /drivers/regulator/lm363x-regulator.c
parentdt-bindings: regulator: update fixed-regulator example (diff)
downloadlinux-dev-c68f47aa0260eb530561b768ffc260d9c7e47a55.tar.xz
linux-dev-c68f47aa0260eb530561b768ffc260d9c7e47a55.zip
regulator: lm363x: Check return value of gpiod_get_index_optional
gpiod_get_index_optional can return ERR_PTR, add IS_ERR checking for it. While at it, also remove a redundant NULL test for gpiod in error path. Signed-off-by: Axel Lin <axel.lin@ingics.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/regulator/lm363x-regulator.c')
-rw-r--r--drivers/regulator/lm363x-regulator.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/regulator/lm363x-regulator.c b/drivers/regulator/lm363x-regulator.c
index 8c0e8419c43f..c876e161052a 100644
--- a/drivers/regulator/lm363x-regulator.c
+++ b/drivers/regulator/lm363x-regulator.c
@@ -258,6 +258,9 @@ static int lm363x_regulator_probe(struct platform_device *pdev)
* Register update is required if the pin is used.
*/
gpiod = lm363x_regulator_of_get_enable_gpio(dev, id);
+ if (IS_ERR(gpiod))
+ return PTR_ERR(gpiod);
+
if (gpiod) {
cfg.ena_gpiod = gpiod;
@@ -265,8 +268,7 @@ static int lm363x_regulator_probe(struct platform_device *pdev)
LM3632_EXT_EN_MASK,
LM3632_EXT_EN_MASK);
if (ret) {
- if (gpiod)
- gpiod_put(gpiod);
+ gpiod_put(gpiod);
dev_err(dev, "External pin err: %d\n", ret);
return ret;
}