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

Commit 41b6a4ed authored by Naman Padhiar's avatar Naman Padhiar
Browse files

icnss: Avoid setting voltage for WCSSS_CX_MX



Due to changes in PMIC design, there is no need to set
absolute voltage for WCSS_CX_MX from APPS.
APPS will just enable regulator and voltage will be set
by WLAN PDC. Avoid setting voltage for WCSSS_CX_MX based
on min/max value from device tree.

Change-Id: I0bb9174eb1ebb791e6a8c760c05ed4bd870c6d46
Signed-off-by: default avatarNaman Padhiar <npadhiar@codeaurora.org>
parent e56fe938
Loading
Loading
Loading
Loading
+36 −20
Original line number Diff line number Diff line
@@ -260,9 +260,11 @@ static int icnss_vreg_on(struct icnss_priv *priv)
		if (!vreg_info->reg)
			continue;

		icnss_pr_vdbg("Regulator %s being enabled\n", vreg_info->name);

		ret = regulator_set_voltage(vreg_info->reg, vreg_info->min_v,
		if (vreg_info->min_v || vreg_info->max_v) {
			icnss_pr_vdbg("Set voltage for regulator %s\n",
							vreg_info->name);
			ret = regulator_set_voltage(vreg_info->reg,
						    vreg_info->min_v,
						    vreg_info->max_v);
			if (ret) {
				icnss_pr_err("Regulator %s, can't set voltage: min_v: %u, max_v: %u, ret: %d\n",
@@ -270,8 +272,11 @@ static int icnss_vreg_on(struct icnss_priv *priv)
					     vreg_info->max_v, ret);
				break;
			}
		}

		if (vreg_info->load_ua) {
			icnss_pr_vdbg("Set load for regulator %s\n",
							vreg_info->name);
			ret = regulator_set_load(vreg_info->reg,
						 vreg_info->load_ua);
			if (ret < 0) {
@@ -282,6 +287,8 @@ static int icnss_vreg_on(struct icnss_priv *priv)
			}
		}

		icnss_pr_vdbg("Regulator %s being enabled\n", vreg_info->name);

		ret = regulator_enable(vreg_info->reg);
		if (ret) {
			icnss_pr_err("Regulator %s, can't enable: %d\n",
@@ -303,8 +310,13 @@ static int icnss_vreg_on(struct icnss_priv *priv)
			continue;

		regulator_disable(vreg_info->reg);

		if (vreg_info->load_ua)
			regulator_set_load(vreg_info->reg, 0);
		regulator_set_voltage(vreg_info->reg, 0, vreg_info->max_v);

		if (vreg_info->min_v || vreg_info->max_v)
			regulator_set_voltage(vreg_info->reg, 0,
					      vreg_info->max_v);
	}

	return ret;
@@ -329,17 +341,21 @@ static int icnss_vreg_off(struct icnss_priv *priv)
			icnss_pr_err("Regulator %s, can't disable: %d\n",
				     vreg_info->name, ret);

		if (vreg_info->load_ua) {
			ret = regulator_set_load(vreg_info->reg, 0);
			if (ret < 0)
				icnss_pr_err("Regulator %s, can't set load: %d\n",
					     vreg_info->name, ret);
		}

		if (vreg_info->min_v || vreg_info->max_v) {
			ret = regulator_set_voltage(vreg_info->reg, 0,
						    vreg_info->max_v);
			if (ret)
				icnss_pr_err("Regulator %s, can't set voltage: %d\n",
					     vreg_info->name, ret);
		}
	}

	return ret;
}