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

Commit 98d345a3 authored by David Collins's avatar David Collins
Browse files

clk: qcom: gdsc-regulator: correct gdsc_disable() success return value



Currently gdsc_disable() can return a value of 1 upon
successfully disabling a GDSC if it has a parent supply.
Correct this so that 0 is always returned on success.

Change-Id: I37ade1bf62b4e8b2f3446b9072674935579d75dd
Signed-off-by: default avatarDavid Collins <collinsd@codeaurora.org>
parent 2a8de757
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -321,18 +321,19 @@ static int gdsc_disable(struct regulator_dev *rdev)
{
	struct gdsc *sc = rdev_get_drvdata(rdev);
	uint32_t regval;
	int i, ret = 0;
	int i, ret = 0, parent_enabled;

	if (rdev->supply) {
		regulator_lock(rdev->supply->rdev);
		ret = regulator_is_enabled(rdev->supply);
		if (ret < 0) {
		parent_enabled = regulator_is_enabled(rdev->supply);
		if (parent_enabled < 0) {
			ret = parent_enabled;
			dev_err(&rdev->dev, "%s unable to check parent enable state, ret=%d\n",
				sc->rdesc.name, ret);
			goto done;
		}

		if (!ret) {
		if (!parent_enabled) {
			dev_err(&rdev->dev, "%s cannot disable GDSC while parent is disabled\n",
				sc->rdesc.name);
			ret = -EIO;