mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-14 00:24:41 -04:00
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: Naveen Yadav <naveenky@codeaurora.org>
This commit is contained in:
parent
a1cd991f30
commit
6cf1bd4064
1 changed files with 6 additions and 11 deletions
|
|
@ -163,6 +163,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;
|
||||
|
||||
return sc->is_gdsc_enabled;
|
||||
}
|
||||
|
||||
|
|
@ -172,6 +175,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->root_en || sc->force_root_en) {
|
||||
clk_prepare_enable(sc->clocks[sc->root_clk_idx]);
|
||||
sc->is_root_clk_voted = true;
|
||||
|
|
@ -314,7 +320,6 @@ static int gdsc_enable(struct regulator_dev *rdev)
|
|||
}
|
||||
|
||||
sc->is_gdsc_enabled = true;
|
||||
sc->skip_disable_before_enable = false;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
@ -325,16 +330,6 @@ static int gdsc_disable(struct regulator_dev *rdev)
|
|||
uint32_t regval;
|
||||
int i, ret = 0, parent_enabled;
|
||||
|
||||
/*
|
||||
* 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 (rdev->supply) {
|
||||
regulator_lock(rdev->supply->rdev);
|
||||
parent_enabled = regulator_is_enabled(rdev->supply);
|
||||
|
|
|
|||
Loading…
Reference in a new issue