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

Commit e070b629 authored by Naveen Yadav's avatar Naveen Yadav
Browse files

clk: qcom: gdsc-regulator: Update support to skip GDSC disable



Update gdsc_is_enable and gdsc_enable to return 0 for the GDSC
which needs only GDSC disable support from HLOS.

Change-Id: Ie1e9faf806f504fc56419c5c557d3063d031d804
Signed-off-by: default avatarNaveen Yadav <naveenky@codeaurora.org>
parent 4707b202
Loading
Loading
Loading
Loading
+6 −10
Original line number Diff line number Diff line
@@ -167,6 +167,9 @@ static int gdsc_is_enabled(struct regulator_dev *rdev)
	if (!sc->toggle_logic)
		return !sc->resets_asserted;

	if (sc->skip_disable_before_enable)
		return false;

	if (sc->parent_regulator) {
		/*
		 * The parent regulator for the GDSC is required to be on to
@@ -259,6 +262,9 @@ static int gdsc_enable(struct regulator_dev *rdev)
	uint32_t regval, hw_ctrl_regval = 0x0;
	int i, ret = 0;

	if (sc->skip_disable_before_enable)
		return 0;

	if (sc->parent_regulator) {
		ret = regulator_set_voltage(sc->parent_regulator,
				RPMH_REGULATOR_LEVEL_LOW_SVS, INT_MAX);
@@ -438,16 +444,6 @@ static int gdsc_disable(struct regulator_dev *rdev)
	uint32_t regval;
	int i, ret = 0;

	/*
	 * Protect GDSC against late_init disabling when the GDSC is enabled
	 * by an entity outside external to HLOS.
	 */
	if (sc->skip_disable_before_enable) {
		dev_dbg(&rdev->dev, "Skip Disabling: %s\n", sc->rdesc.name);
		sc->skip_disable_before_enable = false;
		return 0;
	}

	if (sc->force_root_en)
		clk_prepare_enable(sc->clocks[sc->root_clk_idx]);