Merge remote-tracking branch 'regulator/topic/bypass' into regulator-next

This commit is contained in:
Mark Brown 2016-05-13 14:22:55 +01:00
commit 75941a1ba3
1 changed files with 14 additions and 0 deletions

View File

@ -3116,6 +3116,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);