Skip to content

Commit

Permalink
Merge branch 'topic/bypass' of git://git.kernel.org/pub/scm/linux/ker…
Browse files Browse the repository at this point in the history
…nel/git/broonie/regulator into regulator-supply
  • Loading branch information
Mark Brown committed Apr 27, 2016
2 parents c438b9d + fef9501 commit cbc13a6
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions drivers/regulator/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down

0 comments on commit cbc13a6

Please sign in to comment.