summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2022-12-23 23:38:00 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2022-12-23 23:38:00 +0100
commit0a023cbb11e3d05c39dbb67317cb77ef22d47404 (patch)
tree753f3946a6a17453d4969cb13b77836070fcb8df
parentMerge tag 'coccinelle-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/j... (diff)
parentregulator: core: fix deadlock on regulator enable (diff)
downloadlinux-0a023cbb11e3d05c39dbb67317cb77ef22d47404.tar.xz
linux-0a023cbb11e3d05c39dbb67317cb77ef22d47404.zip
Merge tag 'regulator-fix-v6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
Pull regulator fixes from Mark Brown: "Two core fixes here, one for a long standing race which some Qualcomm systems have started triggering with their UFS driver and another fixing a problem with supply lookup introduced by the fixes for devm related use after free issues that were introduced in this merge window" * tag 'regulator-fix-v6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: regulator: core: fix deadlock on regulator enable regulator: core: Fix resolve supply lookup issue
-rw-r--r--drivers/regulator/core.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index ace4ecc6d7c2..ae69e493913d 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -1002,7 +1002,7 @@ static int drms_uA_update(struct regulator_dev *rdev)
/* get input voltage */
input_uV = 0;
if (rdev->supply)
- input_uV = regulator_get_voltage(rdev->supply);
+ input_uV = regulator_get_voltage_rdev(rdev->supply->rdev);
if (input_uV <= 0)
input_uV = rdev->constraints->input_uV;
@@ -5540,7 +5540,7 @@ regulator_register(struct device *dev,
/* register with sysfs */
rdev->dev.class = &regulator_class;
- rdev->dev.parent = dev;
+ rdev->dev.parent = config->dev;
dev_set_name(&rdev->dev, "regulator.%lu",
(unsigned long) atomic_inc_return(&regulator_no));
dev_set_drvdata(&rdev->dev, rdev);