From 3ad3077848474d75f75cde31dc3eb80d075a4b82 Mon Sep 17 00:00:00 2001 From: Peng Fan Date: Fri, 27 Jul 2018 10:20:38 +0800 Subject: [PATCH] dm: core: device: enable power domain in probe Enable power domain associated with the device when probe. Signed-off-by: Peng Fan Reviewed-by: Simon Glass --- drivers/core/device.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/core/device.c b/drivers/core/device.c index d5f5fc31b0..207d566b71 100644 --- a/drivers/core/device.c +++ b/drivers/core/device.c @@ -26,6 +26,7 @@ #include #include #include +#include DECLARE_GLOBAL_DATA_PTR; @@ -304,6 +305,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; @@ -383,6 +385,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;