[PATCH v2 1/5] drivers: core: device: set new parent when old parent is NULL
Simon Glass
sjg at chromium.org
Tue Jan 6 17:22:22 CET 2026
On Wed, 31 Dec 2025 at 12:52, Yang Xiwen via B4 Relay
<devnull+forbidden405.outlook.com at kernel.org> wrote:
>
> From: Yang Xiwen <forbidden405 at outlook.com>
>
> The current logic does not update the new parent in device_reparent() if
> old parent is NULL. The behavior is not desired. Fix it by setting the
> parent in this case.
>
> Fixes: cfecbaf4e768 ("dm: core: add support for device re-parenting")
> Signed-off-by: Yang Xiwen <forbidden405 at outlook.com>
> ---
> drivers/core/device.c | 5 +++++
> 1 file changed, 5 insertions(+)
Reviewed-by: Simon Glass <simon.glass at canonical.com>
>
> diff --git a/drivers/core/device.c b/drivers/core/device.c
> index 779f371b9d5b..497c32befde7 100644
> --- a/drivers/core/device.c
> +++ b/drivers/core/device.c
> @@ -285,6 +285,11 @@ int device_reparent(struct udevice *dev, struct udevice *new_parent)
> assert(dev);
> assert(new_parent);
>
> + if (!dev->parent) {
> + dev->parent = new_parent;
> + return 0;
> + }
> +
> device_foreach_child_safe(pos, n, dev->parent) {
> if (pos->driver != dev->driver)
> continue;
>
> --
> 2.43.0
>
>
More information about the U-Boot
mailing list