Loading drivers/clk/qcom/gdsc-regulator.c +6 −11 Original line number Diff line number Diff line Loading @@ -181,6 +181,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; regmap_read(sc->regmap, REG_OFFSET, ®val); if (regval & PWR_ON_MASK) { Loading @@ -202,6 +205,9 @@ static int gdsc_enable(struct regulator_dev *rdev) uint32_t regval, cfg_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); Loading Loading @@ -380,7 +386,6 @@ static int gdsc_enable(struct regulator_dev *rdev) clk_disable_unprepare(sc->clocks[sc->root_clk_idx]); sc->is_gdsc_enabled = true; sc->skip_disable_before_enable = false; mutex_unlock(&gdsc_seq_lock); Loading @@ -393,16 +398,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; } mutex_lock(&gdsc_seq_lock); if (sc->force_root_en) Loading Loading
drivers/clk/qcom/gdsc-regulator.c +6 −11 Original line number Diff line number Diff line Loading @@ -181,6 +181,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; regmap_read(sc->regmap, REG_OFFSET, ®val); if (regval & PWR_ON_MASK) { Loading @@ -202,6 +205,9 @@ static int gdsc_enable(struct regulator_dev *rdev) uint32_t regval, cfg_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); Loading Loading @@ -380,7 +386,6 @@ static int gdsc_enable(struct regulator_dev *rdev) clk_disable_unprepare(sc->clocks[sc->root_clk_idx]); sc->is_gdsc_enabled = true; sc->skip_disable_before_enable = false; mutex_unlock(&gdsc_seq_lock); Loading @@ -393,16 +398,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; } mutex_lock(&gdsc_seq_lock); if (sc->force_root_en) Loading