diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c index b4902ab64abe99ba48e893f609a86b8b27295d46..57fe446fabce85601d458a65761783232c7cfbb0 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c @@ -2620,6 +2620,8 @@ static int _regulator_get_voltage(struct regulator_dev *rdev) ret = rdev->desc->ops->list_voltage(rdev, 0); } else if (rdev->desc->fixed_uV && (rdev->desc->n_voltages == 1)) { ret = rdev->desc->fixed_uV; + } else if (rdev->supply) { + ret = regulator_get_voltage(rdev->supply); } else { return -EINVAL; }