dm: treewide: Rename 'platdata' variables to just 'plat'
[platform/kernel/u-boot.git] / drivers / power / regulator / s2mps11_regulator.c
index 723d27f..1c6d835 100644 (file)
@@ -9,6 +9,7 @@
 #include <errno.h>
 #include <dm.h>
 #include <i2c.h>
+#include <linux/delay.h>
 #include <power/pmic.h>
 #include <power/regulator.h>
 #include <power/s2mps11.h>
@@ -304,9 +305,9 @@ static int buck_set_mode(struct udevice *dev, int mode)
 
 static int s2mps11_buck_probe(struct udevice *dev)
 {
-       struct dm_regulator_uclass_platdata *uc_pdata;
+       struct dm_regulator_uclass_plat *uc_pdata;
 
-       uc_pdata = dev_get_uclass_platdata(dev);
+       uc_pdata = dev_get_uclass_plat(dev);
 
        uc_pdata->type = REGULATOR_TYPE_BUCK;
        uc_pdata->mode = s2mps11_buck_modes;
@@ -551,7 +552,16 @@ static int ldo_get_enable(struct udevice *dev)
 
 static int ldo_set_enable(struct udevice *dev, bool enable)
 {
-       return s2mps11_ldo_enable(dev, PMIC_OP_SET, &enable);
+       int ret;
+
+       ret = s2mps11_ldo_enable(dev, PMIC_OP_SET, &enable);
+       if (ret)
+               return ret;
+
+       /* Wait the "enable delay" for voltage to start to rise */
+       udelay(15);
+
+       return 0;
 }
 
 static int ldo_get_mode(struct udevice *dev)
@@ -571,9 +581,9 @@ static int ldo_set_mode(struct udevice *dev, int mode)
 
 static int s2mps11_ldo_probe(struct udevice *dev)
 {
-       struct dm_regulator_uclass_platdata *uc_pdata;
+       struct dm_regulator_uclass_plat *uc_pdata;
 
-       uc_pdata = dev_get_uclass_platdata(dev);
+       uc_pdata = dev_get_uclass_plat(dev);
        uc_pdata->type = REGULATOR_TYPE_LDO;
        uc_pdata->mode = s2mps11_ldo_modes;
        uc_pdata->mode_count = ARRAY_SIZE(s2mps11_ldo_modes);