Hi Thomas, On Fri, Sep 6, 2019 at 7:52 PM Thomas Fitzsimmons <fitz...@fitzsim.org> wrote: > > For CONFIG_OF_PRIOR_STAGE, in the absence of a device tree alias for a > given device, use the next request number for that type of device. > This allows aliases to be used when they're available, while still > allowing unaliased devices to be probed. > > Signed-off-by: Thomas Fitzsimmons <fitz...@fitzsim.org> > Cc: Bin Meng <bmeng...@gmail.com> > Cc: Simon Glass <s...@chromium.org> > --- > drivers/core/device.c | 5 +++++ > drivers/core/uclass.c | 4 +++- > 2 files changed, 8 insertions(+), 1 deletion(-) > > diff --git a/drivers/core/device.c b/drivers/core/device.c > index 474c1642ee..ca8be208a9 100644 > --- a/drivers/core/device.c > +++ b/drivers/core/device.c > @@ -82,6 +82,11 @@ static int device_bind_common(struct udevice *parent, > const struct driver *drv, > if (CONFIG_IS_ENABLED(OF_CONTROL) && > !CONFIG_IS_ENABLED(OF_PLATDATA)) { > if (uc->uc_drv->name && ofnode_valid(node)) > dev_read_alias_seq(dev, &dev->req_seq); > +#if CONFIG_IS_ENABLED(OF_PRIOR_STAGE)
I was wondering whether we should limit such only for OF_PRIOR_STATE, instead change the behaviors for all DM devices. Because as I pointed out in https://lists.denx.de/pipermail/u-boot/2019-August/382368.html, it seems there are quite some codes in the existing code base that tried to workaround such limitation in their own way. > + if (dev->req_seq == -1) > + dev->req_seq = > + > uclass_find_next_free_req_seq(drv->id); > +#endif > } else { > dev->req_seq = uclass_find_next_free_req_seq(drv->id); > } > diff --git a/drivers/core/uclass.c b/drivers/core/uclass.c > index b33296542f..d7aedac351 100644 > --- a/drivers/core/uclass.c > +++ b/drivers/core/uclass.c > @@ -269,7 +269,9 @@ int uclass_find_device_by_name(enum uclass_id id, const > char *name, > return -ENODEV; > } > > -#if !CONFIG_IS_ENABLED(OF_CONTROL) || CONFIG_IS_ENABLED(OF_PLATDATA) > +#if !CONFIG_IS_ENABLED(OF_CONTROL) || \ > + CONFIG_IS_ENABLED(OF_PLATDATA) || \ > + CONFIG_IS_ENABLED(OF_PRIOR_STAGE) > int uclass_find_next_free_req_seq(enum uclass_id id) > { > struct uclass *uc; > -- Regards, Bin _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot