Skip to content

Commit 0debed5

Browse files
ChiYuan Huangbroonie
authored andcommitted
regulator: core: Fix resolve supply lookup issue
From Marek's log, the previous change modify the parent of rdev. https://lore.kernel.org/all/58b92e75-f373-dae7-7031-8abd465bb874@samsung.com/ In 'regulator_resolve_supply', it uses the parent DT node of rdev as the DT-lookup starting node. But the parent DT node may not exist. This will cause the NULL supply issue. This patch modify the parent of rdev back to the device that provides from 'regulator_config' in 'regulator_register'. Fixes: 8f3cbcd ("regulator: core: Use different devices for resource allocation and DT lookup") Reported-by: Marek Szyprowski <m.szyprowski@samsung.com> Tested-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: ChiYuan Huang <cy_huang@richtek.com> Link: https://lore.kernel.org/r/1670981831-12583-1-git-send-email-u0084500@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent 8f3cbcd commit 0debed5

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/regulator/core.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5539,7 +5539,7 @@ regulator_register(struct device *dev,
55395539

55405540
/* register with sysfs */
55415541
rdev->dev.class = &regulator_class;
5542-
rdev->dev.parent = dev;
5542+
rdev->dev.parent = config->dev;
55435543
dev_set_name(&rdev->dev, "regulator.%lu",
55445544
(unsigned long) atomic_inc_return(&regulator_no));
55455545
dev_set_drvdata(&rdev->dev, rdev);

0 commit comments

Comments
 (0)