
On 17/09/19 2:59 PM, Peng Fan wrote:
When multiple power domains attached to a device, need power on them all, so use dev_power_domain_on to do that.
Signed-off-by: Peng Fan peng.fan@nxp.com
V2: use dev_power_domain_on in patch 1/2
drivers/core/device.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/core/device.c b/drivers/core/device.c index 05dadf98f9..f4d7140698 100644 --- a/drivers/core/device.c +++ b/drivers/core/device.c @@ -307,7 +307,6 @@ 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;
@@ -390,8 +389,9 @@ int device_probe(struct udevice *dev)
if (CONFIG_IS_ENABLED(POWER_DOMAIN) && dev->parent && device_get_uclass_id(dev) != UCLASS_POWER_DOMAIN) {
I guess we can drop the if condition all together and can directly call dev_power_domain_on(). Rest looks good to me.
Thanks and regards, Lokesh
if (!power_domain_get(dev, &pd))
power_domain_on(&pd);
ret = dev_power_domain_on(dev);
if (ret)
goto fail;
}
ret = uclass_pre_probe_device(dev);