Skip to content

Commit

Permalink
fix: regulator: set ioexpander direction in regulator gpio init.
Browse files Browse the repository at this point in the history
Signed-off-by: songnannan <songnannan@xiaomi.com>
  • Loading branch information
songnannan authored and xiaoxiang781216 committed Dec 21, 2021
1 parent aa41b97 commit 0a62701
Showing 1 changed file with 17 additions and 5 deletions.
22 changes: 17 additions & 5 deletions drivers/power/regulator_gpio.c
Expand Up @@ -125,6 +125,7 @@ int regulator_gpio_init(FAR struct ioexpander_dev_s *iodev,
FAR const struct regulator_desc_s *desc)
{
FAR struct regulator_gpio_priv *priv;
int ret;

if (!iodev || !desc)
{
Expand All @@ -138,13 +139,24 @@ int regulator_gpio_init(FAR struct ioexpander_dev_s *iodev,
}

priv->iodev = iodev;
priv->rdev = regulator_register(desc, &g_regulator_gpio_ops,
priv);
if (!priv->rdev)

ret = IOEXP_SETDIRECTION(priv->iodev, desc->enable_reg,
IOEXPANDER_DIRECTION_OUT);
if (ret >= 0)
{
priv->rdev = regulator_register(desc,
&g_regulator_gpio_ops,
priv);
if (priv->rdev == NULL)
{
ret = -EINVAL;
}
}

if (ret < 0)
{
kmm_free(priv);
return -EINVAL;
}

return 0;
return ret;
}

0 comments on commit 0a62701

Please sign in to comment.