Commit 57995a48 authored by Matthias Kaehlcke's avatar Matthias Kaehlcke Committed by Mark Brown

regulator: core: Use local ops variable in _regulator_do_set_voltage()

Signed-off-by: default avatarMatthias Kaehlcke <mka@chromium.org>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 29b4817d
...@@ -2751,6 +2751,7 @@ static int _regulator_do_set_voltage(struct regulator_dev *rdev, ...@@ -2751,6 +2751,7 @@ static int _regulator_do_set_voltage(struct regulator_dev *rdev,
int best_val = 0; int best_val = 0;
unsigned int selector; unsigned int selector;
int old_selector = -1; int old_selector = -1;
const struct regulator_ops *ops = rdev->desc->ops;
trace_regulator_set_voltage(rdev_get_name(rdev), min_uV, max_uV); trace_regulator_set_voltage(rdev_get_name(rdev), min_uV, max_uV);
...@@ -2762,29 +2763,28 @@ static int _regulator_do_set_voltage(struct regulator_dev *rdev, ...@@ -2762,29 +2763,28 @@ static int _regulator_do_set_voltage(struct regulator_dev *rdev,
* info to call set_voltage_time_sel(). * info to call set_voltage_time_sel().
*/ */
if (_regulator_is_enabled(rdev) && if (_regulator_is_enabled(rdev) &&
rdev->desc->ops->set_voltage_time_sel && ops->set_voltage_time_sel && ops->get_voltage_sel) {
rdev->desc->ops->get_voltage_sel) { old_selector = ops->get_voltage_sel(rdev);
old_selector = rdev->desc->ops->get_voltage_sel(rdev);
if (old_selector < 0) if (old_selector < 0)
return old_selector; return old_selector;
} }
if (rdev->desc->ops->set_voltage) { if (ops->set_voltage) {
ret = _regulator_call_set_voltage(rdev, min_uV, max_uV, ret = _regulator_call_set_voltage(rdev, min_uV, max_uV,
&selector); &selector);
if (ret >= 0) { if (ret >= 0) {
if (rdev->desc->ops->list_voltage) if (ops->list_voltage)
best_val = rdev->desc->ops->list_voltage(rdev, best_val = ops->list_voltage(rdev,
selector); selector);
else else
best_val = _regulator_get_voltage(rdev); best_val = _regulator_get_voltage(rdev);
} }
} else if (rdev->desc->ops->set_voltage_sel) { } else if (ops->set_voltage_sel) {
ret = regulator_map_voltage(rdev, min_uV, max_uV); ret = regulator_map_voltage(rdev, min_uV, max_uV);
if (ret >= 0) { if (ret >= 0) {
best_val = rdev->desc->ops->list_voltage(rdev, ret); best_val = ops->list_voltage(rdev, ret);
if (min_uV <= best_val && max_uV >= best_val) { if (min_uV <= best_val && max_uV >= best_val) {
selector = ret; selector = ret;
if (old_selector == selector) if (old_selector == selector)
...@@ -2804,7 +2804,7 @@ static int _regulator_do_set_voltage(struct regulator_dev *rdev, ...@@ -2804,7 +2804,7 @@ static int _regulator_do_set_voltage(struct regulator_dev *rdev,
if (ret == 0 && !rdev->constraints->ramp_disable && old_selector >= 0 if (ret == 0 && !rdev->constraints->ramp_disable && old_selector >= 0
&& old_selector != selector) { && old_selector != selector) {
delay = rdev->desc->ops->set_voltage_time_sel(rdev, delay = ops->set_voltage_time_sel(rdev,
old_selector, selector); old_selector, selector);
if (delay < 0) { if (delay < 0) {
rdev_warn(rdev, "set_voltage_time_sel() failed: %d\n", rdev_warn(rdev, "set_voltage_time_sel() failed: %d\n",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment