From 083fc83a4e1187a3f42575c8e3df089d3be622ad Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Tue, 23 Jun 2015 15:38:59 -0600 Subject: dm: power: Add a function to set up all regulators The device tree provides information about which regulators should be on at boot, or always on. Use this to set them up automatically. Signed-off-by: Simon Glass Tested-by: Przemyslaw Marczak Acked-by: Przemyslaw Marczak --- drivers/power/regulator/regulator-uclass.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'drivers/power/regulator') diff --git a/drivers/power/regulator/regulator-uclass.c b/drivers/power/regulator/regulator-uclass.c index 687d3b1..a2d0b9f 100644 --- a/drivers/power/regulator/regulator-uclass.c +++ b/drivers/power/regulator/regulator-uclass.c @@ -306,6 +306,28 @@ static int regulator_pre_probe(struct udevice *dev) return 0; } +int regulators_enable_boot_on(bool verbose) +{ + struct udevice *dev; + struct uclass *uc; + int ret; + + ret = uclass_get(UCLASS_REGULATOR, &uc); + if (ret) + return ret; + for (uclass_first_device(UCLASS_REGULATOR, &dev); + dev && !ret; + uclass_next_device(&dev)) { + ret = regulator_autoset(dev); + if (ret == -EMEDIUMTYPE) + continue; + if (verbose) + regulator_show(dev, ret); + } + + return ret; +} + UCLASS_DRIVER(regulator) = { .id = UCLASS_REGULATOR, .name = "regulator", -- cgit v1.1