[PATCH v3 1/2] regulator: qcom-rpmh-regulator: fix regulator mode mismatch
Federico Amedeo Izzo via B4 Relay
devnull+federico.izzo.pro at kernel.org
Sat May 23 12:25:51 CEST 2026
From: Federico Amedeo Izzo <federico at izzo.pro>
Fix issue where regulator mode could not be set to the
"regulator-initial-mode" value from dts.
priv->mode was initialized to "regulator-initial-mode", but this could
differ from the actual regulator mode.
In this case rpmh_regulator_vrm_set_mode() would return early, thinking
that the mode is already correct.
Setting an invalid mode on probe solves the issue.
Signed-off-by: Federico Amedeo Izzo <federico at izzo.pro>
---
drivers/power/regulator/qcom-rpmh-regulator.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/power/regulator/qcom-rpmh-regulator.c b/drivers/power/regulator/qcom-rpmh-regulator.c
index 4d65aae1690..06c3c14c46e 100644
--- a/drivers/power/regulator/qcom-rpmh-regulator.c
+++ b/drivers/power/regulator/qcom-rpmh-regulator.c
@@ -882,8 +882,7 @@ static int rpmh_regulator_probe(struct udevice *dev)
priv->hw_data = init_data->hw_data;
priv->enabled = -EINVAL;
priv->uv = -ENOTRECOVERABLE;
- if (ofnode_read_u32(dev_ofnode(dev), "regulator-initial-mode", &priv->mode))
- priv->mode = -EINVAL;
+ priv->mode = -EINVAL;
plat_data->mode = priv->hw_data->pmic_mode_map;
plat_data->mode_count = priv->hw_data->n_modes;
--
2.54.0
More information about the U-Boot
mailing list