diff options
Diffstat (limited to 'drivers/power/domain/power-domain-uclass.c')
-rw-r--r-- | drivers/power/domain/power-domain-uclass.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/power/domain/power-domain-uclass.c b/drivers/power/domain/power-domain-uclass.c index 495ddd3dce..fbc3f212af 100644 --- a/drivers/power/domain/power-domain-uclass.c +++ b/drivers/power/domain/power-domain-uclass.c @@ -45,7 +45,11 @@ int power_domain_lookup_name(const char *name, struct power_domain *power_domain ret = uclass_find_device_by_name(UCLASS_POWER_DOMAIN, name, &dev); if (!ret) { /* Probe the dev */ - device_probe(dev); + ret = device_probe(dev); + if (ret) { + printf("Power domain probe device %s failed: %d\n", name, ret); + return ret; + } ops = power_domain_dev_ops(dev); power_domain->dev = dev; @@ -177,8 +181,7 @@ static int dev_power_domain_ctrl(struct udevice *dev, bool on) * off their power-domain parent. So we will get here again and * again and will be stuck in an endless loop. */ - if (!on && dev_get_parent(dev) == pd.dev && - device_get_uclass_id(dev) == UCLASS_POWER_DOMAIN) + if (!on && dev_get_parent(dev) == pd.dev) return ret; /* |