[PATCH v1] Revert "core: device: use dev_power_domain_on"
Lokesh Vutla
lokeshvutla at ti.com
Fri Dec 20 06:46:38 CET 2019
On 17/12/19 5:44 PM, Igor Opaniuk wrote:
> From: Igor Opaniuk <igor.opaniuk at toradex.com>
>
> This reverts commit f0cc4eae9a1702a768817ea25d9f23cece69d021
>
> This was previously reported that f0cc4eae9a ("core: device:
> use dev_power_domain_on") breaks initial boot on Colibri iMX8X and
> IMX8 QM ROM 7720a1 board. Revert it until the problem is properly fixed.
>
> Signed-off-by: Igor Opaniuk <igor.opaniuk at toradex.com>
NAK. This breaks other drivers with multiple power domains that rely on core
framework to enable.
> ---
>
> 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 4e037083a6..c5b232c259 100644
> --- a/drivers/core/device.c
> +++ b/drivers/core/device.c
> @@ -313,6 +313,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;
> @@ -396,9 +397,8 @@ int device_probe(struct udevice *dev)
> if (CONFIG_IS_ENABLED(POWER_DOMAIN) && dev->parent &&
> (device_get_uclass_id(dev) != UCLASS_POWER_DOMAIN) &&
> !(drv->flags & DM_FLAG_DEFAULT_PD_CTRL_OFF)) {
> - ret = dev_power_domain_on(dev);
> - if (ret)
> - goto fail;
Can you check by not returning on failure here? If yes then check the
power-domain/driver that is failing. If any driver doesn't expect core to enable
power-domain then enable DM_FLAG_DEFAULT_PD_CTRL_OFF in the respective driver.
Thanks and regards,
Lokesh
> + if (!power_domain_get(dev, &pd))
> + power_domain_on(&pd);
> }
>
> ret = uclass_pre_probe_device(dev);
>
More information about the U-Boot
mailing list