Merge tag 'regulator-fix-v6.9-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
Pull regulator fix from Mark Brown: "One fix that came in during the merge window, fixing a problem with bootstrapping the state of exclusive regulators which have a parent regulator" * tag 'regulator-fix-v6.9-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: regulator: core: Propagate the regulator state in case of exclusive get
This commit is contained in:
@@ -2274,6 +2274,17 @@ struct regulator *_regulator_get(struct device *dev, const char *id,
|
||||
if (ret > 0) {
|
||||
rdev->use_count = 1;
|
||||
regulator->enable_count = 1;
|
||||
|
||||
/* Propagate the regulator state to its supply */
|
||||
if (rdev->supply) {
|
||||
ret = regulator_enable(rdev->supply);
|
||||
if (ret < 0) {
|
||||
destroy_regulator(regulator);
|
||||
module_put(rdev->owner);
|
||||
put_device(&rdev->dev);
|
||||
return ERR_PTR(ret);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
rdev->use_count = 0;
|
||||
regulator->enable_count = 0;
|
||||
|
||||
Reference in New Issue
Block a user