Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9152c36a authored by Axel Lin's avatar Axel Lin Committed by Mark Brown
Browse files

regulator: core: Use map_voltage_linear() if list_voltage_linear() is in use and nothing is set

parent 3a4b0a07
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -2118,12 +2118,18 @@ static int _regulator_do_set_voltage(struct regulator_dev *rdev,
		ret = rdev->desc->ops->set_voltage(rdev, min_uV, max_uV,
						   &selector);
	} else if (rdev->desc->ops->set_voltage_sel) {
		if (rdev->desc->ops->map_voltage)
		if (rdev->desc->ops->map_voltage) {
			ret = rdev->desc->ops->map_voltage(rdev, min_uV,
							   max_uV);
		} else {
			if (rdev->desc->ops->list_voltage ==
			    regulator_list_voltage_linear)
				ret = regulator_map_voltage_linear(rdev,
								min_uV, max_uV);
			else
			ret = regulator_map_voltage_iterate(rdev, min_uV,
							    max_uV);
				ret = regulator_map_voltage_iterate(rdev,
								min_uV, max_uV);
		}

		if (ret >= 0) {
			selector = ret;