Skip to content

Commit

Permalink
regulator: core: Refactor regulator_list_voltage()
Browse files Browse the repository at this point in the history
Change _regulator_list_voltage() argument from regulator to
regulator_dev in order to provide better separation of core layers.
Allow calling _regulator_list_voltage() from functions, with
regulator_dev argument. This refactoring is needed in order to
implement setting voltage of coupled regulators.

Signed-off-by: Maciej Purski <m.purski@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
  • Loading branch information
Maciej Purski authored and Mark Brown committed Jan 26, 2018
1 parent 148096a commit 3d67fe9
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions drivers/regulator/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -2447,10 +2447,9 @@ static int _regulator_is_enabled(struct regulator_dev *rdev)
return rdev->desc->ops->is_enabled(rdev);
}

static int _regulator_list_voltage(struct regulator *regulator,
unsigned selector, int lock)
static int _regulator_list_voltage(struct regulator_dev *rdev,
unsigned selector, int lock)
{
struct regulator_dev *rdev = regulator->rdev;
const struct regulator_ops *ops = rdev->desc->ops;
int ret;

Expand All @@ -2466,7 +2465,8 @@ static int _regulator_list_voltage(struct regulator *regulator,
if (lock)
mutex_unlock(&rdev->mutex);
} else if (rdev->is_switch && rdev->supply) {
ret = _regulator_list_voltage(rdev->supply, selector, lock);
ret = _regulator_list_voltage(rdev->supply->rdev,
selector, lock);
} else {
return -EINVAL;
}
Expand Down Expand Up @@ -2542,7 +2542,7 @@ EXPORT_SYMBOL_GPL(regulator_count_voltages);
*/
int regulator_list_voltage(struct regulator *regulator, unsigned selector)
{
return _regulator_list_voltage(regulator, selector, 1);
return _regulator_list_voltage(regulator->rdev, selector, 1);
}
EXPORT_SYMBOL_GPL(regulator_list_voltage);

Expand Down

0 comments on commit 3d67fe9

Please sign in to comment.