Merge branch 'topic/bypass' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator into regulator-supply

This commit is contained in:
Mark Brown 2016-04-27 16:32:14 +01:00
commit cbc13a66fd
1 changed files with 14 additions and 0 deletions

View File

@ -3110,6 +3110,20 @@ EXPORT_SYMBOL_GPL(regulator_sync_voltage);
static int _regulator_get_voltage(struct regulator_dev *rdev)
{
int sel, ret;
bool bypassed;
if (rdev->desc->ops->get_bypass) {
ret = rdev->desc->ops->get_bypass(rdev, &bypassed);
if (ret < 0)
return ret;
if (bypassed) {
/* if bypassed the regulator must have a supply */
if (!rdev->supply)
return -EINVAL;
return _regulator_get_voltage(rdev->supply->rdev);
}
}
if (rdev->desc->ops->get_voltage_sel) {
sel = rdev->desc->ops->get_voltage_sel(rdev);