[U-Boot] [PATCH 35/41] dm: core: device: enable power domain in probe
Peng Fan
peng.fan at nxp.com
Mon May 28 12:25:20 UTC 2018
Enable power domain associated with the device when probe.
Signed-off-by: Peng Fan <peng.fan at nxp.com>
Cc: Simon Glass <sjg at chromium.org>
---
drivers/core/device.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/core/device.c b/drivers/core/device.c
index e048e1a659..b6950d9dbb 100644
--- a/drivers/core/device.c
+++ b/drivers/core/device.c
@@ -26,6 +26,7 @@
#include <dm/util.h>
#include <linux/err.h>
#include <linux/list.h>
+#include <power-domain.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -296,6 +297,7 @@ static void *alloc_priv(int size, uint flags)
int device_probe(struct udevice *dev)
{
+ struct power_domain pd;
const struct driver *drv;
int size = 0;
int ret;
@@ -375,6 +377,11 @@ int device_probe(struct udevice *dev)
if (dev->parent && device_get_uclass_id(dev) != UCLASS_PINCTRL)
pinctrl_select_state(dev, "default");
+ if (dev->parent && device_get_uclass_id(dev) != UCLASS_POWER_DOMAIN) {
+ if (!power_domain_get(dev, &pd))
+ power_domain_on(&pd);
+ }
+
ret = uclass_pre_probe_device(dev);
if (ret)
goto fail;
--
2.14.1
More information about the U-Boot
mailing list