core: device: use dev_power_domain_on 43/268143/1
authorPeng Fan <peng.fan@nxp.com>
Tue, 17 Sep 2019 09:29:22 +0000 (09:29 +0000)
committerJaehoon Chung <jh80.chung@samsung.com>
Thu, 16 Dec 2021 11:38:49 +0000 (20:38 +0900)
When multiple power domains attached to a device, need power on
them all, so use dev_power_domain_on to do that.

Change-Id: I787048368bd438825f330821cdd84124e8090228
Signed-off-by: Peng Fan <peng.fan@nxp.com>
drivers/core/device.c

index 228f99e..9dfd408 100644 (file)
@@ -307,7 +307,6 @@ static void *alloc_priv(int size, uint flags)
 
 int device_ofdata_to_platdata(struct udevice *dev)
 {
-       struct power_domain pd;
        const struct driver *drv;
        int size = 0;
        int ret;
@@ -427,8 +426,9 @@ int device_probe(struct udevice *dev)
 
        if (CONFIG_IS_ENABLED(POWER_DOMAIN) && dev->parent &&
            device_get_uclass_id(dev) != UCLASS_POWER_DOMAIN) {
-               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);