Enable the vin-supply when probing the regulator device.

Signed-off-by: Ye Li <ye...@nxp.com>
---
 drivers/power/regulator/regulator_common.c | 10 ++++++++++
 drivers/power/regulator/regulator_common.h |  1 +
 2 files changed, 11 insertions(+)

diff --git a/drivers/power/regulator/regulator_common.c 
b/drivers/power/regulator/regulator_common.c
index e3565d32a019..c80f10c3aa3f 100644
--- a/drivers/power/regulator/regulator_common.c
+++ b/drivers/power/regulator/regulator_common.c
@@ -45,6 +45,16 @@ int regulator_common_of_to_plat(struct udevice *dev,
                        dev_read_u32_default(dev, "u-boot,off-on-delay-us", 0);
        }
 
+       ret = device_get_supply_regulator(dev, "vin-supply", &plat->vin_supply);
+       if (ret) {
+               debug("Regulator vin regulator not defined: %d\n", ret);
+               if (ret != -ENOENT)
+                       return ret;
+       }
+
+       if (plat->vin_supply)
+               regulator_set_enable_if_allowed(plat->vin_supply, true);
+
        return 0;
 }
 
diff --git a/drivers/power/regulator/regulator_common.h 
b/drivers/power/regulator/regulator_common.h
index d4962899d830..799c968d0b66 100644
--- a/drivers/power/regulator/regulator_common.h
+++ b/drivers/power/regulator/regulator_common.h
@@ -14,6 +14,7 @@ struct regulator_common_plat {
        unsigned int startup_delay_us;
        unsigned int off_on_delay_us;
        unsigned int enable_count;
+       struct udevice *vin_supply;
 };
 
 int regulator_common_of_to_plat(struct udevice *dev,
-- 
2.7.4

Reply via email to