mirror of https://gitee.com/openkylin/linux.git
Merge remote-tracking branch 'regulator/fix/core' into regulator-linus
This commit is contained in:
commit
4e2e986473
|
@ -1394,15 +1394,15 @@ static int regulator_resolve_supply(struct regulator_dev *rdev)
|
|||
return 0;
|
||||
|
||||
r = regulator_dev_lookup(dev, rdev->supply_name, &ret);
|
||||
if (ret == -ENODEV) {
|
||||
/*
|
||||
* No supply was specified for this regulator and
|
||||
* there will never be one.
|
||||
*/
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!r) {
|
||||
if (ret == -ENODEV) {
|
||||
/*
|
||||
* No supply was specified for this regulator and
|
||||
* there will never be one.
|
||||
*/
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (have_full_constraints()) {
|
||||
r = dummy_regulator_rdev;
|
||||
} else {
|
||||
|
@ -1422,11 +1422,10 @@ static int regulator_resolve_supply(struct regulator_dev *rdev)
|
|||
return ret;
|
||||
|
||||
/* Cascade always-on state to supply */
|
||||
if (_regulator_is_enabled(rdev)) {
|
||||
if (_regulator_is_enabled(rdev) && rdev->supply) {
|
||||
ret = regulator_enable(rdev->supply);
|
||||
if (ret < 0) {
|
||||
if (rdev->supply)
|
||||
_regulator_put(rdev->supply);
|
||||
_regulator_put(rdev->supply);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue